avalon 0.0.2 → 0.0.3
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/avalon.rb +11 -3
- data/lib/avalon/version.rb +1 -1
- data/spec/avalon_spec.rb +20 -0
- metadata +4 -4
data/lib/avalon.rb
CHANGED
@@ -5,14 +5,22 @@ module Avalon
|
|
5
5
|
extend self
|
6
6
|
|
7
7
|
def validate(*args, &block)
|
8
|
-
|
8
|
+
delegate(:validate, *args, &block)
|
9
9
|
end
|
10
10
|
|
11
11
|
def valid?(*args, &block)
|
12
|
-
|
12
|
+
delegate(:valid?, *args, &block)
|
13
13
|
end
|
14
14
|
|
15
15
|
def invalid?(*args, &block)
|
16
|
-
|
16
|
+
delegate(:invalid?, *args, &block)
|
17
|
+
end
|
18
|
+
|
19
|
+
private
|
20
|
+
|
21
|
+
# In the usage of include, use self as target if target is abbreviated
|
22
|
+
def delegate(method_name, *args, &block)
|
23
|
+
args.unshift(self) if args.empty? && block_given?
|
24
|
+
Validator.new(*args, &block).send(method_name)
|
17
25
|
end
|
18
26
|
end
|
data/lib/avalon/version.rb
CHANGED
data/spec/avalon_spec.rb
CHANGED
@@ -21,4 +21,24 @@ describe Avalon do
|
|
21
21
|
Avalon.invalid?("target", "pattern")
|
22
22
|
end
|
23
23
|
end
|
24
|
+
|
25
|
+
context "when included" do
|
26
|
+
let(:klass) do
|
27
|
+
Class.new do
|
28
|
+
include Avalon
|
29
|
+
|
30
|
+
def abc
|
31
|
+
"abc"
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
context "when not given target but given block" do
|
37
|
+
it "should take self as target of validation" do
|
38
|
+
expect do
|
39
|
+
klass.new.validate { abc =~ /def/ }
|
40
|
+
end.to raise_error(Avalon::ValidationError)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
24
44
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avalon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-09-
|
12
|
+
date: 2012-09-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70157829484560 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70157829484560
|
25
25
|
description: Provide a simple validation method and validator class for Ruby
|
26
26
|
email:
|
27
27
|
- r7kamura@gmail.com
|