formkeeper 0.0.6 → 0.0.7
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/lib/formkeeper/version.rb +1 -1
- data/lib/formkeeper.rb +79 -4
- data/spec/constraint_int_spec.rb +8 -0
- data/spec/constraint_uint_spec.rb +9 -0
- data/spec/filter_capitalize_spec.rb +13 -0
- metadata +5 -3
data/lib/formkeeper/version.rb
CHANGED
data/lib/formkeeper.rb
CHANGED
@@ -61,6 +61,12 @@ module FormKeeper
|
|
61
61
|
return value.strip
|
62
62
|
end
|
63
63
|
end
|
64
|
+
|
65
|
+
class Capitalize < Base
|
66
|
+
def process(value)
|
67
|
+
return value.capitalize
|
68
|
+
end
|
69
|
+
end
|
64
70
|
end
|
65
71
|
|
66
72
|
module Constraint
|
@@ -106,16 +112,84 @@ module FormKeeper
|
|
106
112
|
class Int < Base
|
107
113
|
def validate(value, arg)
|
108
114
|
result = value =~ /^\-?[[:digit:]]+$/
|
109
|
-
|
110
|
-
|
115
|
+
if result and arg.kind_of?(Hash)
|
116
|
+
if arg.has_key?(:gt)
|
117
|
+
unless arg[:gt].kind_of?(Fixnum)
|
118
|
+
raise ArgumentError.new ':gt should be Fixnum'
|
119
|
+
end
|
120
|
+
return false unless value.to_i > arg[:gt];
|
121
|
+
end
|
122
|
+
if arg.has_key?(:gte)
|
123
|
+
unless arg[:gte].kind_of?(Fixnum)
|
124
|
+
raise ArgumentError.new ':gte should be Fixnum'
|
125
|
+
end
|
126
|
+
return false unless value.to_i >= arg[:gte];
|
127
|
+
end
|
128
|
+
if arg.has_key?(:lt)
|
129
|
+
unless arg[:lt].kind_of?(Fixnum)
|
130
|
+
raise ArgumentError.new ':lt should be Fixnum'
|
131
|
+
end
|
132
|
+
return false unless value.to_i < arg[:lt];
|
133
|
+
end
|
134
|
+
if arg.has_key?(:lte)
|
135
|
+
unless arg[:lte].kind_of?(Fixnum)
|
136
|
+
raise ArgumentError.new ':lte should be Fixnum'
|
137
|
+
end
|
138
|
+
return false unless value.to_i <= arg[:lte];
|
139
|
+
end
|
140
|
+
if arg.has_key?(:between)
|
141
|
+
unless arg[:between].kind_of?(Range)
|
142
|
+
raise ArgumentError.new ':between should be Range'
|
143
|
+
end
|
144
|
+
return false unless arg[:between].include?(value.to_i);
|
145
|
+
end
|
146
|
+
true
|
147
|
+
else
|
148
|
+
result = !result if !arg
|
149
|
+
result
|
150
|
+
end
|
111
151
|
end
|
112
152
|
end
|
113
153
|
|
114
154
|
class Uint < Base
|
115
155
|
def validate(value, arg)
|
116
156
|
result = value =~ /^[[:digit:]]+$/
|
117
|
-
|
118
|
-
|
157
|
+
if result and arg.kind_of?(Hash)
|
158
|
+
if arg.has_key?(:gt)
|
159
|
+
unless arg[:gt].kind_of?(Fixnum)
|
160
|
+
raise ArgumentError.new ':gt should be Fixnum'
|
161
|
+
end
|
162
|
+
return false unless value.to_i > arg[:gt];
|
163
|
+
end
|
164
|
+
if arg.has_key?(:gte)
|
165
|
+
unless arg[:gte].kind_of?(Fixnum)
|
166
|
+
raise ArgumentError.new ':gte should be Fixnum'
|
167
|
+
end
|
168
|
+
return false unless value.to_i >= arg[:gte];
|
169
|
+
end
|
170
|
+
if arg.has_key?(:lt)
|
171
|
+
unless arg[:lt].kind_of?(Fixnum)
|
172
|
+
raise ArgumentError.new ':lt should be Fixnum'
|
173
|
+
end
|
174
|
+
return false unless value.to_i < arg[:lt];
|
175
|
+
end
|
176
|
+
if arg.has_key?(:lte)
|
177
|
+
unless arg[:lte].kind_of?(Fixnum)
|
178
|
+
raise ArgumentError.new ':lte should be Fixnum'
|
179
|
+
end
|
180
|
+
return false unless value.to_i <= arg[:lte];
|
181
|
+
end
|
182
|
+
if arg.has_key?(:between)
|
183
|
+
unless arg[:between].kind_of?(Range)
|
184
|
+
raise ArgumentError.new ':between should be Range'
|
185
|
+
end
|
186
|
+
return false unless arg[:between].include?(value.to_i);
|
187
|
+
end
|
188
|
+
true
|
189
|
+
else
|
190
|
+
result = !result if !arg
|
191
|
+
result
|
192
|
+
end
|
119
193
|
end
|
120
194
|
end
|
121
195
|
|
@@ -573,6 +647,7 @@ module FormKeeper
|
|
573
647
|
register_filter :strip, Filter::Strip.new
|
574
648
|
register_filter :downcase, Filter::DownCase.new
|
575
649
|
register_filter :upcase, Filter::UpCase.new
|
650
|
+
register_filter :capitalize, Filter::Capitalize.new
|
576
651
|
|
577
652
|
register_constraint :ascii, Constraint::Ascii.new
|
578
653
|
register_constraint :ascii_space, Constraint::AsciiSpace.new
|
data/spec/constraint_int_spec.rb
CHANGED
@@ -13,6 +13,14 @@ describe FormKeeper::Constraint::Int do
|
|
13
13
|
constraint.validate('-1111', true).should be_true
|
14
14
|
constraint.validate('-1111', false).should_not be_true
|
15
15
|
|
16
|
+
constraint.validate('1111', {:gt => 111}).should be_true
|
17
|
+
constraint.validate('1111', {:gt => 2222}).should_not be_true
|
18
|
+
constraint.validate('1111', {:gt => 111, :lte => 1111}).should be_true
|
19
|
+
constraint.validate('1111', {:gt => 111, :lt => 1111}).should_not be_true
|
20
|
+
constraint.validate('1111', {:gt => 111, :lt => 1112}).should be_true
|
21
|
+
constraint.validate('1111', {:gte => 1111, :lte => 1111}).should be_true
|
22
|
+
constraint.validate('1111', {:between => 1110..1112}).should be_true
|
23
|
+
constraint.validate('1111', {:between => 1113..1115}).should_not be_true
|
16
24
|
end
|
17
25
|
|
18
26
|
end
|
@@ -13,6 +13,15 @@ describe FormKeeper::Constraint::Uint do
|
|
13
13
|
constraint.validate('-1111', true).should_not be_true
|
14
14
|
constraint.validate('-1111', false).should be_true
|
15
15
|
|
16
|
+
constraint.validate('1111', {:gt => 111}).should be_true
|
17
|
+
constraint.validate('1111', {:gt => 2222}).should_not be_true
|
18
|
+
constraint.validate('1111', {:gt => 111, :lte => 1111}).should be_true
|
19
|
+
constraint.validate('1111', {:gt => 111, :lt => 1111}).should_not be_true
|
20
|
+
constraint.validate('1111', {:gt => 111, :lt => 1112}).should be_true
|
21
|
+
constraint.validate('1111', {:gte => 1111, :lte => 1111}).should be_true
|
22
|
+
constraint.validate('1111', {:between => 1110..1112}).should be_true
|
23
|
+
constraint.validate('1111', {:between => 1113..1115}).should_not be_true
|
24
|
+
|
16
25
|
end
|
17
26
|
|
18
27
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe FormKeeper::Filter::Capitalize do
|
4
|
+
|
5
|
+
it "filters value correctly" do
|
6
|
+
filter = FormKeeper::Filter::Capitalize.new
|
7
|
+
filter.process("FOO").should == "Foo";
|
8
|
+
filter.process("fOO").should == "Foo";
|
9
|
+
filter.process("foo").should == "Foo";
|
10
|
+
filter.process(" foo").should == " foo";
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: formkeeper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -45,6 +45,7 @@ files:
|
|
45
45
|
- spec/constraint_regexp_spec.rb
|
46
46
|
- spec/constraint_uint_spec.rb
|
47
47
|
- spec/constraint_uri_spec.rb
|
48
|
+
- spec/filter_capitalize_spec.rb
|
48
49
|
- spec/filter_downcase_spec.rb
|
49
50
|
- spec/filter_strip_spec.rb
|
50
51
|
- spec/filter_upcase_spec.rb
|
@@ -69,7 +70,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
69
70
|
version: '0'
|
70
71
|
segments:
|
71
72
|
- 0
|
72
|
-
hash:
|
73
|
+
hash: -3327834832335453683
|
73
74
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
74
75
|
none: false
|
75
76
|
requirements:
|
@@ -78,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
78
79
|
version: '0'
|
79
80
|
segments:
|
80
81
|
- 0
|
81
|
-
hash:
|
82
|
+
hash: -3327834832335453683
|
82
83
|
requirements: []
|
83
84
|
rubyforge_project:
|
84
85
|
rubygems_version: 1.8.24
|
@@ -104,6 +105,7 @@ test_files:
|
|
104
105
|
- spec/constraint_regexp_spec.rb
|
105
106
|
- spec/constraint_uint_spec.rb
|
106
107
|
- spec/constraint_uri_spec.rb
|
108
|
+
- spec/filter_capitalize_spec.rb
|
107
109
|
- spec/filter_downcase_spec.rb
|
108
110
|
- spec/filter_strip_spec.rb
|
109
111
|
- spec/filter_upcase_spec.rb
|