condition 0.0.8 → 0.0.9

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: 6d0eaa8a5ffd881ac98550940bc72575e7784eeb
4
- data.tar.gz: 26d1e51efde5623ba87d12ef69235b34109c1ea9
3
+ metadata.gz: 9b30028c08d8586bbc2846e45107fd738ef3ab07
4
+ data.tar.gz: 3fc8ef2b4e14594112d6ef7ea54c7a04b86b9565
5
5
  SHA512:
6
- metadata.gz: b07577a3d7e099e5093b9dabca8c628f6c16e086a0c769f30d77d233d3d28d8e80bfa5a4e5e4b4be0038f9ee4cf45e055ad505672120b44b77f9b889f368eaba
7
- data.tar.gz: 22e28db9c161fe74ced6ce81cf87daf96109b54bc060ee2834ea3be95e994f02094603e8e7dbfbdb77ced4b2a24abfda044fcd4cb0d7bea24725344f1ea0766b
6
+ metadata.gz: bad7d74c148c5567379a55ecd980f13a273c1de5cefcffb999da621e7caab942ee4a68d33eb1fda87f7ab421dac1cc0cabecf589626b207d8bd1a0c8be8f54e9
7
+ data.tar.gz: 2e1210d1cbc76d637b327d1191c05ab1ff690116ab6bae3bd19caef5c70a74d738a107b8116f63806fabf1cbbe95abed4925a24ae20c8971b88b9c0d96706317
data/README.md CHANGED
@@ -30,6 +30,9 @@ TODO: Write usage instructions here
30
30
 
31
31
  ## Changes
32
32
 
33
+ 2013-04-18 0.0.9
34
+ deep value_match?
35
+
33
36
  2013-04-18 0.0.8
34
37
  add json
35
38
 
@@ -100,13 +100,37 @@ module Condition
100
100
  elsif Hash === real
101
101
  if !(Hash === expected)
102
102
  false
103
+ elsif real == expected
104
+ true
105
+ else
106
+ result = true
107
+ expected.each_pair do |k, v|
108
+ res = value_match?(v, real[k])
109
+ result = false if !res
110
+ end
111
+ result
103
112
  end
104
- expected == real
105
113
  elsif Array === real
106
114
  if !(Array === expected)
107
115
  false
116
+ elsif real.size() == 0 && expected.size() == 0
117
+ true
118
+ elsif real == expected
119
+ true
120
+ else
121
+ index = 0
122
+ result = true
123
+ while true
124
+ break if index >= expected.size
125
+ res = value_match?(expected[index], real[index])
126
+ if !res
127
+ result = false
128
+ break
129
+ end
130
+ index += 1
131
+ end
132
+ result
108
133
  end
109
- expected == real
110
134
  else
111
135
  real.to_s == expected
112
136
  end
@@ -1,5 +1,5 @@
1
1
  # coding: utf-8
2
2
 
3
3
  module Condition
4
- VERSION = "0.0.8"
4
+ VERSION = "0.0.9"
5
5
  end
@@ -32,7 +32,7 @@ describe Condition do
32
32
 
33
33
  it 'ref and json' do
34
34
  param = Condition::Param.new(FILES + '/t_user.ods', 2)
35
- param.check('ary', [{name: "a", val1: {a: "b"}, val2: [{a: {c: "d"}}], val3: [], val4: nil, val5: {a: [1, 2, 3]}}])
35
+ param.check('ary', [{name: "a", val1: {a: "b", t: true, f: false}, val2: [{a: {c: "d"}}], val3: [], val4: nil, val5: {a: [1, 2, 3]}, val6: true, val7: false}])
36
36
  end
37
37
 
38
38
  it 'unmatch' do
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: condition
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - aoyagikouhei
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-17 00:00:00.000000000 Z
11
+ date: 2013-04-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler