api-filters 0.0.1 → 0.0.2

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: c52275d7c4a43af25a276c6aeede46e026808eb3
4
- data.tar.gz: 2189467fd2c7bf0ea0cfba50ee7097dbefac5b7f
3
+ metadata.gz: cbf59466645bd9bafd9b658aba63ed35552eb532
4
+ data.tar.gz: 63b797947391671b9949381af95a17cff94c7500
5
5
  SHA512:
6
- metadata.gz: e15beab9ce8291a10c640202fc04cbb8d27643a0d48c6f24668e04fb510e1597957044ced0fe51c83d66322966c6a7d9ff6c480bfc213ec56bf9c83358edd6ff
7
- data.tar.gz: a2f934133bbac06e2d86fcd714aed29eb4d41cba1af5bc1141aeadeb6a83f31bbfdbe170fcf123b45b665d70d5794b1655a18c9dee76fadee1d9e43b254cb509
6
+ metadata.gz: eb1082345520d06a2e088c392bba83124a81a0bf66a59881ac705be00e74f06ac976560ceb68b00c0778e940139e49a4ff22c884a4d7a762f330671c705e7ed2
7
+ data.tar.gz: f4deddb63fc420adb83ea636b4572fd3cd10b2b429995b56094a99ed5c364188d962d8ac098dc99efd8799807e546a95d2162eb1ead030bc438cac34487198e2
data/lib/api/filters.rb CHANGED
@@ -17,6 +17,7 @@ module Api
17
17
  def self.parse(string)
18
18
  if string
19
19
  filters = Hash.new
20
+ filters.compare_by_identity
20
21
  filters[string.split("|").map { |f| f.split("::") }.each { |f| filters[f.first] = f.last }]
21
22
  return filters
22
23
  end
@@ -1,5 +1,5 @@
1
1
  module Api
2
2
  module Filters
3
- VERSION = "0.0.1"
3
+ VERSION = "0.0.2"
4
4
  end
5
5
  end
@@ -5,20 +5,27 @@ describe Api::Filters do
5
5
  describe ".parse" do
6
6
 
7
7
  it "apenas 1 filtro" do
8
- expect(described_class.parse("buyerName::Joao da Silva")).to eql({ "buyerName" => "Joao da Silva" })
8
+ got = described_class.parse("buyerName::Joao da Silva")
9
+ expect(got.keys).to eq(["buyerName"])
10
+ expect(got.values).to eq(["Joao da Silva"])
9
11
  end
10
12
 
11
13
  it "mais de 1 filtro" do
12
- expect(described_class.parse("buyerName::João da Silva|buyerEmail::buyer@domain.com")).to eq({
13
- "buyerName" => "João da Silva",
14
- "buyerEmail" => "buyer@domain.com"
15
- })
14
+ got = described_class.parse("buyerName::João da Silva|buyerEmail::buyer@domain.com")
15
+ expect(got.keys).to eq(["buyerName", "buyerEmail"])
16
+ expect(got.values).to eq(["João da Silva", "buyer@domain.com"])
16
17
  end
17
18
 
18
19
  it "nil" do
19
20
  expect(described_class.parse(nil)).to eq({})
20
21
  end
21
22
 
23
+ it "allow duplicate filters" do
24
+ got = described_class.parse("amount::1|amount::2")
25
+ expect(got.keys).to eq(["amount", "amount"])
26
+ expect(got.values).to eq(["1","2"])
27
+ end
28
+
22
29
  end
23
30
 
24
31
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api-filters
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Breno Oliveira
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-01-20 00:00:00.000000000 Z
11
+ date: 2015-07-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
110
110
  version: '0'
111
111
  requirements: []
112
112
  rubyforge_project:
113
- rubygems_version: 2.2.2
113
+ rubygems_version: 2.4.6
114
114
  signing_key:
115
115
  specification_version: 4
116
116
  summary: This GEM provide another way to use api filters