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 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