env_parser 0.8.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (43) hide show
  1. checksums.yaml +5 -5
  2. data/.circleci/config.yml +7 -6
  3. data/.rubocop.yml +56 -57
  4. data/.ruby-version +1 -1
  5. data/Gemfile.lock +58 -28
  6. data/README.md +252 -176
  7. data/docs/EnvParser.html +305 -169
  8. data/docs/EnvParser/AutoregisterFileNotFound.html +143 -0
  9. data/docs/EnvParser/Error.html +9 -9
  10. data/docs/EnvParser/TypeAlreadyDefinedError.html +143 -0
  11. data/docs/EnvParser/Types.html +128 -0
  12. data/docs/EnvParser/Types/BaseTypes.html +177 -0
  13. data/docs/EnvParser/Types/ChronologyTypes.html +159 -0
  14. data/docs/EnvParser/Types/InternetTypes.html +159 -0
  15. data/docs/EnvParser/UnknownTypeError.html +143 -0
  16. data/docs/EnvParser/UnparseableAutoregisterSpec.html +143 -0
  17. data/docs/EnvParser/ValueNotAllowedError.html +143 -0
  18. data/docs/EnvParser/ValueNotConvertibleError.html +143 -0
  19. data/docs/EnvParserTypes.html +129 -0
  20. data/docs/EnvParserTypes/BaseTypes.html +178 -0
  21. data/docs/EnvParserTypes/ChronologyTypes.html +159 -0
  22. data/docs/EnvParserTypes/InternetTypes.html +159 -0
  23. data/docs/EnvParserTypes/TimeTypes.html +158 -0
  24. data/docs/_index.html +108 -9
  25. data/docs/class_list.html +3 -3
  26. data/docs/css/style.css +7 -9
  27. data/docs/file.README.html +215 -226
  28. data/docs/file_list.html +2 -2
  29. data/docs/frames.html +2 -2
  30. data/docs/index.html +215 -226
  31. data/docs/js/app.js +69 -3
  32. data/docs/method_list.html +13 -5
  33. data/docs/top-level-namespace.html +9 -9
  34. data/env_parser.gemspec +6 -2
  35. data/lib/env_parser.rb +111 -83
  36. data/lib/env_parser/autoregister.rb +3 -0
  37. data/lib/env_parser/errors.rb +40 -0
  38. data/lib/env_parser/types.rb +3 -0
  39. data/lib/env_parser/types/base_types.rb +99 -26
  40. data/lib/env_parser/types/chronology_types.rb +104 -0
  41. data/lib/env_parser/types/internet_types.rb +99 -0
  42. data/lib/env_parser/version.rb +1 -1
  43. metadata +85 -10
@@ -0,0 +1,177 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Module: EnvParser::Types::BaseTypes
8
+
9
+ &mdash; Documentation by YARD 0.9.26
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "EnvParser::Types::BaseTypes";
19
+ relpath = '../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../_index.html">Index (B)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../EnvParser.html" title="EnvParser (class)">EnvParser</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Types.html" title="EnvParser::Types (module)">Types</a></span></span>
41
+ &raquo;
42
+ <span class="title">BaseTypes</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Module: EnvParser::Types::BaseTypes
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/env_parser/types/base_types.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+
89
+ <p>Defines types for primitive classes, adding the following:</p>
90
+ <table>
91
+ <tbody>
92
+ <tr>
93
+ <th><code>:as</code> value</th>
94
+ <th>type returned</th>
95
+ <th>default</th>
96
+ <th>notes</th>
97
+ </tr>
98
+ </tbody>
99
+ <tbody>
100
+ <tr>
101
+ <td>:string</td>
102
+ <td>String</td>
103
+ <td><code>''</code></td>
104
+ <td></td>
105
+ </tr>
106
+ <tr>
107
+ <td>:symbol</td>
108
+ <td>Symbol</td>
109
+ <td><code>:''</code></td>
110
+ <td></td>
111
+ </tr>
112
+ <tr>
113
+ <td>:boolean</td>
114
+ <td>TrueValue / FalseValue</td>
115
+ <td><code>false</code></td>
116
+ <td></td>
117
+ </tr>
118
+ <tr>
119
+ <td>:int / :integer</td>
120
+ <td>Integer</td>
121
+ <td><code>0</code></td>
122
+ <td></td>
123
+ </tr>
124
+ <tr>
125
+ <td>:float / :decimal / :number</td>
126
+ <td>Float</td>
127
+ <td><code>0.0</code></td>
128
+ <td></td>
129
+ </tr>
130
+ <tr>
131
+ <td>:json</td>
132
+ <td>&lt; depends on JSON given &gt;</td>
133
+ <td><code>nil</code></td>
134
+ <td></td>
135
+ </tr>
136
+ <tr>
137
+ <td>:array</td>
138
+ <td>Array</td>
139
+ <td><code>[]</code></td>
140
+ <td></td>
141
+ </tr>
142
+ <tr>
143
+ <td>:hash</td>
144
+ <td>Hash</td>
145
+ <td><code>{}</code></td>
146
+ <td></td>
147
+ </tr>
148
+ </tbody>
149
+ </table>
150
+ <p>Note JSON is parsed using <em>quirks-mode</em> (meaning &#39;true&#39;, &#39;25&#39;, and &#39;null&#39; are all considered valid, parseable JSON).</p>
151
+
152
+
153
+ </div>
154
+ </div>
155
+ <div class="tags">
156
+
157
+
158
+ </div>
159
+
160
+
161
+
162
+
163
+
164
+
165
+
166
+
167
+ </div>
168
+
169
+ <div id="footer">
170
+ Generated on Sat Jan 2 17:31:18 2021 by
171
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
172
+ 0.9.26 (ruby-2.7.2).
173
+ </div>
174
+
175
+ </div>
176
+ </body>
177
+ </html>
@@ -0,0 +1,159 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Module: EnvParser::Types::ChronologyTypes
8
+
9
+ &mdash; Documentation by YARD 0.9.26
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "EnvParser::Types::ChronologyTypes";
19
+ relpath = '../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../_index.html">Index (C)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../EnvParser.html" title="EnvParser (class)">EnvParser</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Types.html" title="EnvParser::Types (module)">Types</a></span></span>
41
+ &raquo;
42
+ <span class="title">ChronologyTypes</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Module: EnvParser::Types::ChronologyTypes
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/env_parser/types/chronology_types.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+
89
+ <p>Defines types for date/time-related values, adding the following:</p>
90
+ <table>
91
+ <tbody>
92
+ <tr>
93
+ <th><code>:as</code> value</th>
94
+ <th>type returned</th>
95
+ <th>default</th>
96
+ <th>notes</th>
97
+ </tr>
98
+ </tbody>
99
+ <tbody>
100
+ <tr>
101
+ <td>:date</td>
102
+ <td>Date</td>
103
+ <td><code>nil</code></td>
104
+ <td>
105
+ A natural language or ISO8601-parseable date.
106
+ <br />
107
+ Actual interpretation of the value is handled by the *chronic* gem.
108
+ </td>
109
+ </tr>
110
+ <tr>
111
+ <td>:time / :datetime</td>
112
+ <td>Time</td>
113
+ <td><code>nil</code></td>
114
+ <td>
115
+ A natural language or ISO8601-parseable date and time.
116
+ <br />
117
+ Actual interpretation of the value is handled by the *chronic* gem.
118
+ </td>
119
+ </tr>
120
+ <tr>
121
+ <td>:duration</td>
122
+ <td>Numeric</td>
123
+ <td><code>nil</code></td>
124
+ <td>
125
+ A natural language or ISO8601-parseable period.
126
+ <br />
127
+ Value returned is the number of seconds in the given period.
128
+ <br />
129
+ Actual interpretation of the value is handled by the *chronic_duration* gem.
130
+ </td>
131
+ </tr>
132
+ </tbody>
133
+ </table>
134
+
135
+ </div>
136
+ </div>
137
+ <div class="tags">
138
+
139
+
140
+ </div>
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+ </div>
150
+
151
+ <div id="footer">
152
+ Generated on Sat Jan 2 17:31:18 2021 by
153
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
154
+ 0.9.26 (ruby-2.7.2).
155
+ </div>
156
+
157
+ </div>
158
+ </body>
159
+ </html>
@@ -0,0 +1,159 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ Module: EnvParser::Types::InternetTypes
8
+
9
+ &mdash; Documentation by YARD 0.9.26
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../../css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="../../css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "EnvParser::Types::InternetTypes";
19
+ relpath = '../../';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="../../js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="../../js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="../../class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="../../_index.html">Index (I)</a> &raquo;
40
+ <span class='title'><span class='object_link'><a href="../../EnvParser.html" title="EnvParser (class)">EnvParser</a></span></span> &raquo; <span class='title'><span class='object_link'><a href="../Types.html" title="EnvParser::Types (module)">Types</a></span></span>
41
+ &raquo;
42
+ <span class="title">InternetTypes</span>
43
+
44
+ </div>
45
+
46
+ <div id="search">
47
+
48
+ <a class="full_list_link" id="class_list_link"
49
+ href="../../class_list.html">
50
+
51
+ <svg width="24" height="24">
52
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
53
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
54
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
55
+ </svg>
56
+ </a>
57
+
58
+ </div>
59
+ <div class="clear"></div>
60
+ </div>
61
+
62
+ <div id="content"><h1>Module: EnvParser::Types::InternetTypes
63
+
64
+
65
+
66
+ </h1>
67
+ <div class="box_info">
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+
79
+ <dl>
80
+ <dt>Defined in:</dt>
81
+ <dd>lib/env_parser/types/internet_types.rb</dd>
82
+ </dl>
83
+
84
+ </div>
85
+
86
+ <h2>Overview</h2><div class="docstring">
87
+ <div class="discussion">
88
+
89
+ <p>Defines types for internet-related values, adding the following:</p>
90
+ <table>
91
+ <tbody>
92
+ <tr>
93
+ <th><code>:as</code> value</th>
94
+ <th>type returned</th>
95
+ <th>default</th>
96
+ <th>notes</th>
97
+ </tr>
98
+ </tbody>
99
+ <tbody>
100
+ <tr>
101
+ <td>:ipv4_address</td>
102
+ <td>String</td>
103
+ <td><code>nil</code></td>
104
+ <td>
105
+ An IPv4 address in 4-octet dot-decimal notation,
106
+ <br />
107
+ with no CIDR or subnet suffix (e.g. <code>'192.168.0.1'</code>).
108
+ </td>
109
+ </tr>
110
+ <tr>
111
+ <td>:ipv6_address</td>
112
+ <td>String</td>
113
+ <td><code>nil</code></td>
114
+ <td>An IPv6 address, in RFC5952 format.</td>
115
+ </tr>
116
+ <tr>
117
+ <td>:network_port / :port</td>
118
+ <td>Integer</td>
119
+ <td><code>nil</code></td>
120
+ <td></td>
121
+ </tr>
122
+ <tr>
123
+ <td>:email_address</td>
124
+ <td>String</td>
125
+ <td><code>nil</code></td>
126
+ <td>
127
+ A "simple" email address, containing only a username and a domain.
128
+ <br />
129
+ Note this does not guarantee RFC5322-conformity.
130
+ </td>
131
+ </tr>
132
+ </tbody>
133
+ </table>
134
+
135
+ </div>
136
+ </div>
137
+ <div class="tags">
138
+
139
+
140
+ </div>
141
+
142
+
143
+
144
+
145
+
146
+
147
+
148
+
149
+ </div>
150
+
151
+ <div id="footer">
152
+ Generated on Sat Jan 2 17:31:18 2021 by
153
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
154
+ 0.9.26 (ruby-2.7.2).
155
+ </div>
156
+
157
+ </div>
158
+ </body>
159
+ </html>