hash_assertions 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - "1.9.2"
4
+ - "1.9.3"
5
+ - jruby-19mode
6
+ - rbx-19mode
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # hash_assertions
2
2
 
3
+ [![Build Status](https://travis-ci.org/tomekw/hash_assertions.png)](https://travis-ci.org/tomekw/hash_assertions)
4
+
3
5
  Hash assertions: assert required keys, assert keys with values
4
6
 
5
7
  ## Installation
@@ -57,16 +59,17 @@ require "hash_assertions/assert_keys_with_values"
57
59
  # Raises nothing
58
60
  { foo: "bar", baz: "qux" }.assert_keys_with_values(:foo, :baz)
59
61
 
60
- # Raises ArgumentError, "Blank value for key: baz"
61
- { foo: "bar", baz: nil }.assert_keys_with_values(:foo, :baz)
62
-
63
- # Raises ArgumentError, "Blank value for key: baz"
62
+ # Raises nothing
63
+ # (blank string or empty array is treated as valid value)
64
64
  { foo: "bar", baz: "" }.assert_keys_with_values(:foo, :baz)
65
65
 
66
- # Raises ArgumentError, "Blank value for key: baz"
66
+ # Raises ArgumentError, "No value for key: baz"
67
+ { foo: "bar", baz: nil }.assert_keys_with_values(:foo, :baz)
68
+
69
+ # Raises ArgumentError, "No value for key: baz"
67
70
  { foo: "bar", baz: "qux" }.assert_keys_with_values(:foo, "baz")
68
71
 
69
- # Raises ArgumentError, "Blank value for key: [:foo, :baz]"
72
+ # Raises ArgumentError, "No value for key: [:foo, :baz]"
70
73
  # (assert_keys_with_values doesn't flatten arguments!)
71
74
  { foo: "bar", baz: "qux" }.assert_keys_with_values([:foo, :baz])
72
75
  ```
@@ -3,8 +3,8 @@ class Hash
3
3
  keys_with_values.each do |key_with_value|
4
4
  required_value = fetch(key_with_value, nil)
5
5
 
6
- if required_value.nil? || required_value.empty?
7
- raise ArgumentError, "Blank value for key: #{key_with_value}"
6
+ if required_value.nil?
7
+ raise ArgumentError, "No value for key: #{key_with_value}"
8
8
  end
9
9
  end
10
10
  end
@@ -1,3 +1,3 @@
1
1
  module HashAssertions
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -18,17 +18,15 @@ describe "assert_keys_with_values" do
18
18
  it "fails" do
19
19
  expect do
20
20
  hash.assert_keys_with_values(*present_keys?)
21
- end.to raise_error(ArgumentError, "Blank value for key: bar")
21
+ end.to raise_error(ArgumentError, "No value for key: bar")
22
22
  end
23
23
  end
24
24
 
25
25
  context "when some keys with empty values" do
26
26
  let(:present_keys?) { [:baz, :qux] }
27
27
 
28
- it "fails" do
29
- expect do
30
- hash.assert_keys_with_values(*present_keys?)
31
- end.to raise_error(ArgumentError, "Blank value for key: qux")
28
+ it "passes" do
29
+ expect { hash.assert_keys_with_values(*present_keys?) }.to_not raise_error
32
30
  end
33
31
  end
34
32
 
@@ -38,7 +36,7 @@ describe "assert_keys_with_values" do
38
36
  it "fails" do
39
37
  expect do
40
38
  hash.assert_keys_with_values(*present_keys?)
41
- end.to raise_error(ArgumentError, "Blank value for key: foo")
39
+ end.to raise_error(ArgumentError, "No value for key: foo")
42
40
  end
43
41
  end
44
42
 
@@ -48,7 +46,7 @@ describe "assert_keys_with_values" do
48
46
  it "fails" do
49
47
  expect do
50
48
  hash.assert_keys_with_values(present_keys?)
51
- end.to raise_error(ArgumentError, "Blank value for key: [:baz, :bar]")
49
+ end.to raise_error(ArgumentError, "No value for key: [:baz, :bar]")
52
50
  end
53
51
  end
54
52
  end
metadata CHANGED
@@ -1,57 +1,64 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hash_assertions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Tomek Wałkuski
8
- autorequire:
9
+ autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-06-08 00:00:00.000000000 Z
12
+ date: 2013-06-10 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
+ version_requirements: !ruby/object:Gem::Requirement
16
17
  requirements:
17
18
  - - ~>
18
19
  - !ruby/object:Gem::Version
19
20
  version: '1.3'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
21
+ none: false
22
+ requirement: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ~>
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.3'
27
+ none: false
28
+ prerelease: false
29
+ type: :development
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: rake
29
- requirement: !ruby/object:Gem::Requirement
32
+ version_requirements: !ruby/object:Gem::Requirement
30
33
  requirements:
31
34
  - - '>='
32
35
  - !ruby/object:Gem::Version
33
36
  version: '0'
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirement: !ruby/object:Gem::Requirement
37
39
  requirements:
38
40
  - - '>='
39
41
  - !ruby/object:Gem::Version
40
42
  version: '0'
43
+ none: false
44
+ prerelease: false
45
+ type: :development
41
46
  - !ruby/object:Gem::Dependency
42
47
  name: rspec
43
- requirement: !ruby/object:Gem::Requirement
48
+ version_requirements: !ruby/object:Gem::Requirement
44
49
  requirements:
45
50
  - - '>='
46
51
  - !ruby/object:Gem::Version
47
52
  version: '0'
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
53
+ none: false
54
+ requirement: !ruby/object:Gem::Requirement
51
55
  requirements:
52
56
  - - '>='
53
57
  - !ruby/object:Gem::Version
54
58
  version: '0'
59
+ none: false
60
+ prerelease: false
61
+ type: :development
55
62
  description: Hash assertions
56
63
  email:
57
64
  - ja@jestem.tw
@@ -61,6 +68,7 @@ extra_rdoc_files: []
61
68
  files:
62
69
  - .gitignore
63
70
  - .rspec
71
+ - .travis.yml
64
72
  - Gemfile
65
73
  - LICENSE.txt
66
74
  - README.md
@@ -76,8 +84,7 @@ files:
76
84
  homepage: https://github.com/tomekw/hash_assertions
77
85
  licenses:
78
86
  - MIT
79
- metadata: {}
80
- post_install_message:
87
+ post_install_message:
81
88
  rdoc_options: []
82
89
  require_paths:
83
90
  - lib
@@ -85,17 +92,25 @@ required_ruby_version: !ruby/object:Gem::Requirement
85
92
  requirements:
86
93
  - - '>='
87
94
  - !ruby/object:Gem::Version
95
+ segments:
96
+ - 0
88
97
  version: '0'
98
+ hash: 2
99
+ none: false
89
100
  required_rubygems_version: !ruby/object:Gem::Requirement
90
101
  requirements:
91
102
  - - '>='
92
103
  - !ruby/object:Gem::Version
104
+ segments:
105
+ - 0
93
106
  version: '0'
107
+ hash: 2
108
+ none: false
94
109
  requirements: []
95
- rubyforge_project:
96
- rubygems_version: 2.0.2
97
- signing_key:
98
- specification_version: 4
110
+ rubyforge_project:
111
+ rubygems_version: 1.8.24
112
+ signing_key:
113
+ specification_version: 3
99
114
  summary: 'Hash assertions: assert required keys, assert keys with values'
100
115
  test_files:
101
116
  - spec/hash_assertions/assert_keys_with_values_spec.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: e6e08b8f2329e6d39a20b165eda60a9866a8b973
4
- data.tar.gz: 3a78f7206f45e7736d1fab0575fc9d537c4d02c9
5
- SHA512:
6
- metadata.gz: b6b4c506c2dbe5b8db36c50308ed86c65cb371c2b7dffa4f66d566a95065a8b7b46ad77c211a7a026e24a518bd5383eed3a48d2fd70cb8307eeff803b8971d8a
7
- data.tar.gz: 67f2718cbd7d40bcb7a655316c10850e6ee7cccf378740bfb525e363321e4edba352a9e021b33ab9f98aad6d5e9b07896ae87399eacb58d2c702c98d9e3a7739