val_required 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 76f31e38d9c52905a698bba29a41fcbbf75f7f92
4
- data.tar.gz: fae2fd7894ca0deb24009ebaa73f880ccda48301
3
+ metadata.gz: c186595ba205deac0604e32d3426cfa6808dfcb6
4
+ data.tar.gz: 979dae2227b0f98c9d8c0d33f10c7ae0838c28d7
5
5
  SHA512:
6
- metadata.gz: 7464691f5413e3dc5fbc61ad19df550c1c8996ece77b7cfc44ead2a8869ce301bd15e858d39ab0104b5ccb85dad715b568e70fb12d1e973ac5051a6fac9461f3
7
- data.tar.gz: ab5d8529b097c1939713a2635e09f07ada5d083fc79cf9896521a0bfc982ec6e693aaf88ce0dd29f18d85a84480068a11f4db6c40fa67e89ac358ae6aacedfdf
6
+ metadata.gz: 608367b9f54474ac01c4298a976cc5a5baf54f37a60cc790d451555d88b2b420d0a8dc90a49ac683884275a0e0286dc37679c02fd9c9405524dbe6b4f1c57907
7
+ data.tar.gz: 13044c01216fd7d015e6e0306a32f50573492146273be7463c85f227f00c03e3b29f3b17eb657ef1c52fa950829ec00ef790cc91dd555bf9f36989b4adf2b69d
@@ -1,3 +1,3 @@
1
1
  module ValRequired
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
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! val=nil
6
+ def required!(val = (val_not_set = true; nil))
7
7
  if block_given?
8
8
  yield(RequiredHelper.new(self))
9
- elsif self.class == Object
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
@@ -8,10 +8,11 @@ def does_not_fail val
8
8
  end
9
9
 
10
10
  def fails val
11
- expect { does_not_fail(val) }.to raise_error
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 Required do
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
- expect do
25
- user.required! do |u|
26
- u.fish
27
- end
28
- end.to raise_error
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
- user.required! do |u|
32
- u.moo
49
+ config.required! do |c|
50
+ c.moo = ""
33
51
  end
34
- end.to_not raise_error
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 = "A gem to require variables to have a value, otherwise raises an error."
12
- spec.summary = "expect(''.required!).to raise_error(ValRequired::BlankError)"
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.2
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-10 00:00:00.000000000 Z
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: A gem to require variables to have a value, otherwise raises an error.
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: expect(''.required!).to raise_error(ValRequired::BlankError)
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