hash_assertions 0.0.1 → 0.1.0

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