opal-scrivener 1.0.1 → 1.0.2
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.
- checksums.yaml +4 -4
- data/lib/scrivener.rb +6 -1
- data/test/scrivener_test.rb +4 -32
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 414a2e9c89fcac777942b9bdf48e395ad505e823
|
4
|
+
data.tar.gz: 5bc899fc92cd77fdb7a8d2b35a523face5bfb14d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d578597020f6f673ac61501bea49fd3a0a8552a50f5014ef1a4dada682417e4e937a4bf6ea65f9a22f4efa4aef059f5b98592409ea844ea1dbecd222309185e2
|
7
|
+
data.tar.gz: 89137530d68a6f19da55a3e0fbd33f2f480b3da51625d122ffe30aad1e39a16e41265d188ef46d59f161fea4f2a15c45bc815cc8ab318844dc79fc2f6507d24a
|
data/lib/scrivener.rb
CHANGED
@@ -2,11 +2,16 @@ require_relative "scrivener/validations"
|
|
2
2
|
require_relative "scrivener/types"
|
3
3
|
|
4
4
|
class Scrivener
|
5
|
-
VERSION = "1.0.
|
5
|
+
VERSION = "1.0.2"
|
6
6
|
|
7
7
|
include Validations
|
8
8
|
extend Types
|
9
9
|
|
10
|
+
# This will allow you to inhreit from other Scrivener classes
|
11
|
+
def self.inherited(sub_class)
|
12
|
+
sub_class.send(:attr_accessor, *instance_methods(false).select { |m| !m['='] }) unless self.name == 'Scrivener'
|
13
|
+
end
|
14
|
+
|
10
15
|
# Initialize with a hash of attributes and values.
|
11
16
|
# Extra attributes are discarded.
|
12
17
|
#
|
data/test/scrivener_test.rb
CHANGED
@@ -208,34 +208,6 @@ end
|
|
208
208
|
|
209
209
|
class H < Scrivener
|
210
210
|
attr_accessor :a
|
211
|
-
|
212
|
-
def validate
|
213
|
-
assert_length :a, 3..10
|
214
|
-
end
|
215
|
-
end
|
216
|
-
|
217
|
-
scope do
|
218
|
-
test "length validation" do
|
219
|
-
filter = H.new({})
|
220
|
-
|
221
|
-
assert ! filter.valid?
|
222
|
-
assert filter.errors[:a].include?(:not_in_range)
|
223
|
-
|
224
|
-
filter = H.new(a: "fo")
|
225
|
-
assert ! filter.valid?
|
226
|
-
assert filter.errors[:a].include?(:not_in_range)
|
227
|
-
|
228
|
-
filter = H.new(a: "foofoofoofo")
|
229
|
-
assert ! filter.valid?
|
230
|
-
assert filter.errors[:a].include?(:not_in_range)
|
231
|
-
|
232
|
-
filter = H.new(a: "foo")
|
233
|
-
assert filter.valid?
|
234
|
-
end
|
235
|
-
end
|
236
|
-
|
237
|
-
class I < Scrivener
|
238
|
-
attr_accessor :a
|
239
211
|
attr_accessor :b
|
240
212
|
|
241
213
|
def validate
|
@@ -246,21 +218,21 @@ end
|
|
246
218
|
|
247
219
|
scope do
|
248
220
|
test "equality validation" do
|
249
|
-
filter =
|
221
|
+
filter = H.new({})
|
250
222
|
|
251
223
|
assert ! filter.valid?
|
252
224
|
assert filter.errors[:a].include?(:not_equal)
|
253
225
|
assert filter.errors[:b].include?(:not_equal)
|
254
226
|
|
255
|
-
filter =
|
227
|
+
filter = H.new(a: "foo", b: "bar")
|
256
228
|
assert ! filter.valid?
|
257
229
|
|
258
|
-
filter =
|
230
|
+
filter = H.new(a: "foo")
|
259
231
|
assert ! filter.valid?
|
260
232
|
assert filter.errors[:a].empty?
|
261
233
|
assert filter.errors[:b].include?(:not_equal)
|
262
234
|
|
263
|
-
filter =
|
235
|
+
filter = H.new(a: "foo", b: 42)
|
264
236
|
filter.valid?
|
265
237
|
assert filter.valid?
|
266
238
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: opal-scrivener
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michel Martens
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-08-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cutest
|
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
69
|
version: '0'
|
70
70
|
requirements: []
|
71
71
|
rubyforge_project:
|
72
|
-
rubygems_version: 2.
|
72
|
+
rubygems_version: 2.5.1
|
73
73
|
signing_key:
|
74
74
|
specification_version: 4
|
75
75
|
summary: Validation frontend for models.
|