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.
- data/History.txt +8 -0
- data/Manifest.txt +19 -0
- data/PostInstall.txt +4 -0
- data/README.rdoc +69 -0
- data/Rakefile +28 -143
- data/config/website.yml +2 -0
- data/lib/typed_accessors.rb +5 -97
- data/lib/typed_accessors/class.rb +100 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +71 -0
- data/test/test_helper.rb +3 -0
- data/test/test_typed_accessors.rb +11 -0
- data/website/index.html +93 -0
- data/website/index.txt +64 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +159 -0
- data/website/template.html.erb +50 -0
- metadata +75 -36
- data/COPYING +0 -21
- data/README +0 -50
- data/docs/typed_accessors/classes/Class.html +0 -260
- data/docs/typed_accessors/created.rid +0 -1
- data/docs/typed_accessors/files/COPYING.html +0 -133
- data/docs/typed_accessors/files/README.html +0 -156
- data/docs/typed_accessors/files/lib/typed_accessors_rb.html +0 -123
- data/docs/typed_accessors/fr_class_index.html +0 -27
- data/docs/typed_accessors/fr_file_index.html +0 -29
- data/docs/typed_accessors/fr_method_index.html +0 -30
- data/docs/typed_accessors/index.html +0 -24
- data/docs/typed_accessors/rdoc-style.css +0 -208
- data/test/basic_test.rb +0 -118
@@ -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
|
-
|