typed_accessors 0.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,30 +0,0 @@
1
-
2
- <?xml version="1.0" encoding="iso-8859-1"?>
3
- <!DOCTYPE html
4
- PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
5
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
6
-
7
- <!--
8
-
9
- Methods
10
-
11
- -->
12
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
13
- <head>
14
- <title>Methods</title>
15
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
16
- <link rel="stylesheet" href="rdoc-style.css" type="text/css" />
17
- <base target="docwin" />
18
- </head>
19
- <body>
20
- <div id="index">
21
- <h1 class="section-bar">Methods</h1>
22
- <div id="index-entries">
23
- <a href="classes/Class.html#M000001">bool_yn_accessor (Class)</a><br />
24
- <a href="classes/Class.html#M000004">date_accessor (Class)</a><br />
25
- <a href="classes/Class.html#M000002">float_accessor (Class)</a><br />
26
- <a href="classes/Class.html#M000003">int_accessor (Class)</a><br />
27
- </div>
28
- </div>
29
- </body>
30
- </html>
@@ -1,24 +0,0 @@
1
- <?xml version="1.0" encoding="iso-8859-1"?>
2
- <!DOCTYPE html
3
- PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
4
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
5
-
6
- <!--
7
-
8
- Typed Accessors
9
-
10
- -->
11
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
12
- <head>
13
- <title>Typed Accessors</title>
14
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
15
- </head>
16
- <frameset rows="20%, 80%">
17
- <frameset cols="25%,35%,45%">
18
- <frame src="fr_file_index.html" title="Files" name="Files" />
19
- <frame src="fr_class_index.html" name="Classes" />
20
- <frame src="fr_method_index.html" name="Methods" />
21
- </frameset>
22
- <frame src="files/README.html" name="docwin" />
23
- </frameset>
24
- </html>
@@ -1,208 +0,0 @@
1
-
2
- body {
3
- font-family: Verdana,Arial,Helvetica,sans-serif;
4
- font-size: 90%;
5
- margin: 0;
6
- margin-left: 40px;
7
- padding: 0;
8
- background: white;
9
- }
10
-
11
- h1,h2,h3,h4 { margin: 0; color: #efefef; background: transparent; }
12
- h1 { font-size: 150%; }
13
- h2,h3,h4 { margin-top: 1em; }
14
-
15
- a { background: #eef; color: #039; text-decoration: none; }
16
- a:hover { background: #039; color: #eef; }
17
-
18
- /* Override the base stylesheet's Anchor inside a table cell */
19
- td > a {
20
- background: transparent;
21
- color: #039;
22
- text-decoration: none;
23
- }
24
-
25
- /* and inside a section title */
26
- .section-title > a {
27
- background: transparent;
28
- color: #eee;
29
- text-decoration: none;
30
- }
31
-
32
- /* === Structural elements =================================== */
33
-
34
- div#index {
35
- margin: 0;
36
- margin-left: -40px;
37
- padding: 0;
38
- font-size: 90%;
39
- }
40
-
41
-
42
- div#index a {
43
- margin-left: 0.7em;
44
- }
45
-
46
- div#index .section-bar {
47
- margin-left: 0px;
48
- padding-left: 0.7em;
49
- background: #ccc;
50
- font-size: small;
51
- }
52
-
53
-
54
- div#classHeader, div#fileHeader {
55
- width: auto;
56
- color: white;
57
- padding: 0.5em 1.5em 0.5em 1.5em;
58
- margin: 0;
59
- margin-left: -40px;
60
- border-bottom: 3px solid #006;
61
- }
62
-
63
- div#classHeader a, div#fileHeader a {
64
- background: inherit;
65
- color: white;
66
- }
67
-
68
- div#classHeader td, div#fileHeader td {
69
- background: inherit;
70
- color: white;
71
- }
72
-
73
-
74
- div#fileHeader {
75
- background: #057;
76
- }
77
-
78
- div#classHeader {
79
- background: #048;
80
- }
81
-
82
-
83
- .class-name-in-header {
84
- font-size: 180%;
85
- font-weight: bold;
86
- }
87
-
88
-
89
- div#bodyContent {
90
- padding: 0 1.5em 0 1.5em;
91
- }
92
-
93
- div#description {
94
- padding: 0.5em 1.5em;
95
- background: #efefef;
96
- border: 1px dotted #999;
97
- }
98
-
99
- div#description h1,h2,h3,h4,h5,h6 {
100
- color: #125;;
101
- background: transparent;
102
- }
103
-
104
- div#validator-badges {
105
- text-align: center;
106
- }
107
- div#validator-badges img { border: 0; }
108
-
109
- div#copyright {
110
- color: #333;
111
- background: #efefef;
112
- font: 0.75em sans-serif;
113
- margin-top: 5em;
114
- margin-bottom: 0;
115
- padding: 0.5em 2em;
116
- }
117
-
118
-
119
- /* === Classes =================================== */
120
-
121
- table.header-table {
122
- color: white;
123
- font-size: small;
124
- }
125
-
126
- .type-note {
127
- font-size: small;
128
- color: #DEDEDE;
129
- }
130
-
131
- .xxsection-bar {
132
- background: #eee;
133
- color: #333;
134
- padding: 3px;
135
- }
136
-
137
- .section-bar {
138
- color: #333;
139
- border-bottom: 1px solid #999;
140
- margin-left: -20px;
141
- }
142
-
143
-
144
- .section-title {
145
- background: #79a;
146
- color: #eee;
147
- padding: 3px;
148
- margin-top: 2em;
149
- margin-left: -30px;
150
- border: 1px solid #999;
151
- }
152
-
153
- .top-aligned-row { vertical-align: top }
154
- .bottom-aligned-row { vertical-align: bottom }
155
-
156
- /* --- Context section classes ----------------------- */
157
-
158
- .context-row { }
159
- .context-item-name { font-family: monospace; font-weight: bold; color: black; }
160
- .context-item-value { font-size: small; color: #448; }
161
- .context-item-desc { color: #333; padding-left: 2em; }
162
-
163
- /* --- Method classes -------------------------- */
164
- .method-detail {
165
- background: #efefef;
166
- padding: 0;
167
- margin-top: 0.5em;
168
- margin-bottom: 1em;
169
- border: 1px dotted #ccc;
170
- }
171
- .method-heading {
172
- color: black;
173
- background: #ccc;
174
- border-bottom: 1px solid #666;
175
- padding: 0.2em 0.5em 0 0.5em;
176
- }
177
- .method-signature { color: black; background: inherit; }
178
- .method-name { font-weight: bold; }
179
- .method-args { font-style: italic; }
180
- .method-description { padding: 0 0.5em 0 0.5em; }
181
-
182
- /* --- Source code sections -------------------- */
183
-
184
- a.source-toggle { font-size: 90%; }
185
- div.method-source-code {
186
- background: #262626;
187
- color: #ffdead;
188
- margin: 1em;
189
- padding: 0.5em;
190
- border: 1px dashed #999;
191
- overflow: hidden;
192
- }
193
-
194
- div.method-source-code pre { color: #ffdead; overflow: hidden; }
195
-
196
- /* --- Ruby keyword styles --------------------- */
197
-
198
- .standalone-code { background: #221111; color: #ffdead; overflow: hidden; }
199
-
200
- .ruby-constant { color: #7fffd4; background: transparent; }
201
- .ruby-keyword { color: #00ffff; background: transparent; }
202
- .ruby-ivar { color: #eedd82; background: transparent; }
203
- .ruby-operator { color: #00ffee; background: transparent; }
204
- .ruby-identifier { color: #ffdead; background: transparent; }
205
- .ruby-node { color: #ffa07a; background: transparent; }
206
- .ruby-comment { color: #b22222; font-weight: bold; background: transparent; }
207
- .ruby-regexp { color: #ffa07a; background: transparent; }
208
- .ruby-value { color: #7fffd4; background: transparent; }
data/test/basic_test.rb DELETED
@@ -1,118 +0,0 @@
1
- $:.unshift(File.dirname(__FILE__) + '/../lib')
2
-
3
- require 'test/unit'
4
- require 'date'
5
- require 'typed_accessors'
6
-
7
- class TypedExample
8
- float_accessor :dollars
9
- int_accessor :count
10
- bool_yn_accessor :onfire
11
- date_accessor :day
12
- end
13
-
14
- class TestTypedAccessors < Test::Unit::TestCase
15
-
16
- def test_date
17
- t = TypedExample.new
18
- t.day = Date.today
19
- assert_instance_of Date, t.day
20
- assert_equal Date.today, t.day
21
-
22
- t.day = Date.today.strftime("%Y-%m-%d")
23
- assert_instance_of Date, t.day
24
- assert_equal Date.today, t.day
25
-
26
- # this might fail depending on locale, need to figure out a
27
- # better way to handle that
28
- t.day = Date.today.strftime("%m/%d/%Y")
29
- assert_instance_of Date, t.day
30
- assert_equal Date.today, t.day
31
-
32
- assert_raise ArgumentError do
33
- t.day = Date.today.strftime("foo")
34
- end
35
- end
36
-
37
- def test_float
38
- t = TypedExample.new
39
-
40
- t.dollars = "54"
41
- assert_instance_of Float, t.dollars
42
- assert_equal 54.0, t.dollars
43
-
44
- t.dollars = "54.200000"
45
- assert_instance_of Float, t.dollars
46
- assert_equal 54.2, t.dollars
47
-
48
- t.dollars = 54
49
- assert_instance_of Float, t.dollars
50
- assert_equal 54.0, t.dollars
51
-
52
- t.dollars = "foo"
53
- assert_instance_of Float, t.dollars
54
- assert_equal 0.0, t.dollars
55
-
56
- end
57
-
58
- def test_int
59
- t = TypedExample.new
60
-
61
- t.count = "54"
62
- assert_instance_of Fixnum, t.count
63
- assert_equal 54, t.count
64
-
65
- t.count = "54.200000"
66
- assert_instance_of Fixnum, t.count
67
- assert_equal 54, t.count
68
-
69
- t.count = 54.0
70
- assert_instance_of Fixnum, t.count
71
- assert_equal 54, t.count
72
- end
73
-
74
- def test_bool
75
- t = TypedExample.new
76
-
77
- t.onfire = "Y"
78
- assert_instance_of TrueClass, t.onfire
79
- assert_equal true, t.onfire
80
-
81
- t.onfire = "54.200000"
82
- assert_instance_of FalseClass, t.onfire
83
- assert_equal false, t.onfire
84
-
85
- t.onfire = "y"
86
- assert_instance_of TrueClass, t.onfire
87
- assert_equal true, t.onfire
88
-
89
- t.onfire = "yes"
90
- assert_instance_of TrueClass, t.onfire
91
- assert_equal true, t.onfire
92
-
93
- t.onfire = "yessir"
94
- assert_instance_of FalseClass, t.onfire
95
- assert_equal false, t.onfire
96
-
97
- t.onfire = "t"
98
- assert_instance_of TrueClass, t.onfire
99
- assert_equal true, t.onfire
100
-
101
- t.onfire = "TRUE"
102
- assert_instance_of TrueClass, t.onfire
103
- assert_equal true, t.onfire
104
-
105
- t.onfire = "truth"
106
- assert_instance_of FalseClass, t.onfire
107
- assert_equal false, t.onfire
108
-
109
- t.onfire = false
110
- assert_instance_of FalseClass, t.onfire
111
- assert_equal false, t.onfire
112
-
113
- t.onfire = true
114
- assert_instance_of TrueClass, t.onfire
115
- assert_equal true, t.onfire
116
- end
117
- end
118
-