root/trunk/plagger/examples/schema.yaml

Revision 1700 (checked in by miyagawa, 14 years ago)

Rough cut of Kwalify schema file, based on http://www.megabbs.com/~nihen/blog/2006/09/plaggeryamlglobalkwalify.html
Refs #402

Line 
1 name: real-global
2 desc: real-global
3 required: yes
4 type: map
5 mapping:
6   "global":
7     name: plagger's global configuration
8     desc: plagger's global configuration = $self->{conf}
9     type: map
10     mapping:
11       "assets_path":
12         name: assets_path
13         desc: "path to assets directory"
14         type: str
15       "plugin_path":
16         name: plugin_path
17         desc: "path to plugins directory"
18         type: seq
19         sequence:
20           - type: str
21       "timezone":
22         name: timezone
23         desc: "timezone for Plagger::Date"
24         type: str
25       "user_agent":
26         name: user_agent
27         desc: "various stuff used in Plagger::UserAgent and Mechanize"
28         type: map
29         mapping:
30           "agent":
31             name: user_agent-agent
32             desc: user_agent-agent
33             type: str
34           "timeout":
35             name: user_agent-timeout
36             desc: user_agent-timeout
37             type: int
38           "cookies":
39             name: user_agent-cookies
40             desc: "user_agent-cookies @Plagger::Cookies"
41             type: map
42             mapping:
43               "type":
44                 name: user_agent-cookies-type
45                 desc: "user_agent-cookies-type  HTTP::Cookies::$type"
46                 type: str
47               "file":
48                 name: user_agent-cookies-file
49                 desc: user_agent-cookies-file
50                 type: str
51               =: # any keys for HTTP::Cookies(::$type)
52                 type: any
53       "log":
54         name: log
55         desc: log
56         type: map
57         mapping:
58           "level":
59             name: log-level
60             desc: log-level
61             type: str
62             enum:
63               - debug
64               - warn
65               - info
66               - error
67           "encoding":
68             name: log-encoding
69             desc: log-encoding
70             type: str
71       "cache":
72         name: cache
73         desc: cache
74         type: map
75         mapping:
76           "base":
77             name: cache-base
78             desc: cache-base
79             type: str
80           "class":
81             name: cache-class
82             desc: cache-class
83             type: str
84           "expires":
85             name: cache-expires
86             desc: cache-expires
87             type: int
88           "params":
89             name: cache-params
90             desc: cache-params
91             type: map
92             mapping:
93               "cache_root":
94                 name: cache-params-cache_root
95                 desc: cache-params-cache_root
96                 type: str
97               "default_expires_in":
98                 name: cache-params-default_expires_in
99                 desc: cache-params-default_expires_in
100                 type: str
101
102
103   "plugins":
104     name: list of plugins
105     desc: list of plugins
106     type: seq
107     sequence:
108       - type: map
109         mapping:
110           "module":
111             type: str
112             required: true
113           "config":
114             type: map
115             mapping:
116               =:
117                 type: any
118           "rule":
119             type: map
120             mapping:
121               "module":
122                 type: str
123               "expression":
124                 type: str
125               =:
126                 type: any
Note: See TracBrowser for help on using the browser.