schron 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: 596a1adb57c93ea3704fe27f4b16b9e18634a9fe
4
- data.tar.gz: 48ca9b5c762cba6a811bf094edbc629b81e75038
3
+ metadata.gz: eeba481760ccd8f3a638fa9ba360529bc06974e9
4
+ data.tar.gz: 155dfdaa24c0a42284a38417ba2ffd9e485295e6
5
5
  SHA512:
6
- metadata.gz: b92a6e883b241fd799448dcd21d5635aca52b953f8a6cf9f5f5ab2790158f8e81780412cd645053ed57fc15d240fdc7b386800201bf3785d14b19e8efe4587c1
7
- data.tar.gz: 47c28e8f37b63cf689877c014b350deac76c970b4f1180a3548a630327a89024273fd07a49577716096e6fbb111271c1bb833b8913dee51c78f39c4664c267fa
6
+ metadata.gz: 6072e0ee19bb32562b0f2d3f2cf2ea73d8652d2bed5824d7e528fd680da88edf93d075b22e9ca6b68d9509e4f355b71d8d69bf40f3fa67af767d9ef02b758db3
7
+ data.tar.gz: 447b176fa96f473e0afa5b889f871fa6141956029b753dc2af49a8878d907dcdadfed26e6e0b7652e472781d6d5afac83e9d09d09b2896de15f07c3b99b385e2
@@ -86,7 +86,13 @@ module Schron
86
86
  query.filters.reduce(data) do |data, (field, op, filter_value)|
87
87
  case op
88
88
  when '='
89
- data.select { |obj| obj[field] == filter_value }
89
+ data.select do |obj|
90
+ if obj[field].kind_of?(Enumerable)
91
+ obj[field].include?(filter_value)
92
+ else
93
+ obj[field] == filter_value
94
+ end
95
+ end
90
96
  when '!='
91
97
  data.select { |obj| obj[field] != filter_value }
92
98
  when 'in'
@@ -510,6 +510,13 @@ if defined?(RSpec)
510
510
  loaded = ds.get(with_types_kind, data[:id])
511
511
  expect(loaded[:array]).to eq([1, "a", ["b"]])
512
512
  end
513
+ xit 'filters by "=" if the array includes the filter value' do
514
+ record1 = ds.insert(named_kind, name: [1, 2])
515
+ record2 = ds.insert(named_kind, name: [2, 3])
516
+ found = ds.exec_query(query.filter(:name, '=', 1))
517
+ expect(found.size).to eq(1)
518
+ expect(found.first[:id]).to eq(record1[:id])
519
+ end
513
520
  end
514
521
 
515
522
  describe 'dates and times' do
data/schron.gemspec CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
6
  spec.name = "schron"
7
- spec.version = "0.0.8"
7
+ spec.version = "0.0.9"
8
8
  spec.authors = ["David Faber"]
9
9
  spec.email = ["david@1bios.co"]
10
10
  spec.summary = %q{Repository implementation for entity persistence}
@@ -16,7 +16,7 @@ Gem::Specification.new do |spec|
16
16
 
17
17
  spec.add_development_dependency 'rake', '~> 10.1.0'
18
18
  spec.add_development_dependency "bundler", "~> 1.5"
19
- spec.add_development_dependency "rspec", "~> 3.0.0.beta1"
19
+ spec.add_development_dependency "rspec", "~> 3.1.0"
20
20
  spec.add_development_dependency 'sequel', '~> 4.9.0'
21
21
  spec.add_development_dependency 'sqlite3', '~> 1.3.9'
22
22
  spec.add_development_dependency 'mongo', '~> 1.10.0'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schron
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
  - David Faber
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-12-29 00:00:00.000000000 Z
11
+ date: 2015-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 3.0.0.beta1
47
+ version: 3.1.0
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 3.0.0.beta1
54
+ version: 3.1.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: sequel
57
57
  requirement: !ruby/object:Gem::Requirement