val_required 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.
- checksums.yaml +4 -4
- data/lib/val_required/version.rb +1 -1
- data/lib/val_required.rb +4 -2
- data/spec/required_spec.rb +28 -10
- data/val_required.gemspec +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c186595ba205deac0604e32d3426cfa6808dfcb6
|
4
|
+
data.tar.gz: 979dae2227b0f98c9d8c0d33f10c7ae0838c28d7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 608367b9f54474ac01c4298a976cc5a5baf54f37a60cc790d451555d88b2b420d0a8dc90a49ac683884275a0e0286dc37679c02fd9c9405524dbe6b4f1c57907
|
7
|
+
data.tar.gz: 13044c01216fd7d015e6e0306a32f50573492146273be7463c85f227f00c03e3b29f3b17eb657ef1c52fa950829ec00ef790cc91dd555bf9f36989b4adf2b69d
|
data/lib/val_required/version.rb
CHANGED
data/lib/val_required.rb
CHANGED
@@ -3,13 +3,15 @@ require 'active_support/core_ext/object/blank'
|
|
3
3
|
|
4
4
|
module ValRequired
|
5
5
|
module Method
|
6
|
-
def required!
|
6
|
+
def required!(val = (val_not_set = true; nil))
|
7
7
|
if block_given?
|
8
8
|
yield(RequiredHelper.new(self))
|
9
|
-
elsif
|
9
|
+
elsif !val_not_set
|
10
10
|
raise BlankError.new("argument is blank!") if val.blank?
|
11
|
+
val
|
11
12
|
else
|
12
13
|
raise BlankError.new("object is blank") if self.blank?
|
14
|
+
self
|
13
15
|
end
|
14
16
|
end
|
15
17
|
end
|
data/spec/required_spec.rb
CHANGED
@@ -8,10 +8,11 @@ def does_not_fail val
|
|
8
8
|
end
|
9
9
|
|
10
10
|
def fails val
|
11
|
-
expect {
|
11
|
+
expect { val.required! }.to raise_error(ValRequired::BlankError)
|
12
|
+
expect { required!(val) }.to raise_error(ValRequired::BlankError)
|
12
13
|
end
|
13
14
|
|
14
|
-
describe
|
15
|
+
describe ValRequired do
|
15
16
|
it { does_not_fail "moo" }
|
16
17
|
it { does_not_fail 2 }
|
17
18
|
it { does_not_fail 0 }
|
@@ -19,18 +20,35 @@ describe Required do
|
|
19
20
|
it { fails nil }
|
20
21
|
it { fails "" }
|
21
22
|
|
23
|
+
it "works with assignment" do
|
24
|
+
m = "moo".required!
|
25
|
+
expect(m).to eq "moo"
|
26
|
+
|
27
|
+
expect { required!("") }.to raise_error
|
28
|
+
|
29
|
+
m = required!("moo")
|
30
|
+
expect(m).to eq "moo"
|
31
|
+
end
|
32
|
+
|
22
33
|
it "takes a block" do
|
23
34
|
user = OpenStruct.new(moo: "mo", fish: "")
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
35
|
+
|
36
|
+
expect { user.required!(&:fish) }.to raise_error
|
37
|
+
expect { user.required!(&:moo) }.to_not raise_error
|
38
|
+
end
|
39
|
+
|
40
|
+
it "takes an assignment block (config style)" do
|
41
|
+
config = OpenStruct.new
|
42
|
+
required! do
|
43
|
+
config.moo = "moo"
|
44
|
+
end
|
45
|
+
|
46
|
+
expect(config.moo).to eq "moo"
|
29
47
|
|
30
48
|
expect do
|
31
|
-
|
32
|
-
|
49
|
+
config.required! do |c|
|
50
|
+
c.moo = ""
|
33
51
|
end
|
34
|
-
end.
|
52
|
+
end.to raise_error
|
35
53
|
end
|
36
54
|
end
|
data/val_required.gemspec
CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = ValRequired::VERSION
|
9
9
|
spec.authors = ["Frans Krojegård"]
|
10
10
|
spec.email = ["frans@krojegard.com"]
|
11
|
-
spec.description = "
|
12
|
-
spec.summary = "
|
11
|
+
spec.description = "expect(''.required!).to raise_error(ValRequired::BlankError)"
|
12
|
+
spec.summary = "A helper method to require values to be set."
|
13
13
|
spec.homepage = "https://github.com/frunns/val_required"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: val_required
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Frans Krojegård
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: active_support
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
description:
|
69
|
+
description: expect(''.required!).to raise_error(ValRequired::BlankError)
|
70
70
|
email:
|
71
71
|
- frans@krojegard.com
|
72
72
|
executables: []
|
@@ -107,7 +107,7 @@ rubyforge_project:
|
|
107
107
|
rubygems_version: 2.1.4
|
108
108
|
signing_key:
|
109
109
|
specification_version: 4
|
110
|
-
summary:
|
110
|
+
summary: A helper method to require values to be set.
|
111
111
|
test_files:
|
112
112
|
- spec/required_spec.rb
|
113
113
|
- spec/spec_helper.rb
|