kosher 0.1.5 → 0.1.6

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.
data/Rakefile CHANGED
@@ -1,2 +1,9 @@
1
1
  require 'bundler'
2
+ require 'rspec/core/rake_task'
3
+
2
4
  Bundler::GemHelper.install_tasks
5
+
6
+ desc 'Run all specs in spec directory'
7
+ RSpec::Core::RakeTask.new(:spec) do |spec|
8
+ spec.pattern = 'spec/**/*_spec.rb'
9
+ end
data/lib/kosher/item.rb CHANGED
@@ -17,9 +17,8 @@ module Kosher
17
17
  [offers].flatten.compact.map do |offer|
18
18
 
19
19
  # Senify Yen because Ruby Money says so
20
- price = offer['OfferListing']['Price']
21
- if price['CurrencyCode'] == 'JPY'
22
- price['Amount'] = price['Amount'].to_i * 100
20
+ if offer['OfferListing']['Price']['CurrencyCode'] == 'JPY'
21
+ offer['OfferListing']['Price']['Amount'] = offer['OfferListing']['Price']['Amount'].to_i * 100
23
22
  end
24
23
 
25
24
  Offer.build(offer)
data/lib/kosher/seller.rb CHANGED
@@ -16,7 +16,7 @@ module Kosher
16
16
  end
17
17
 
18
18
  def blacklisted?
19
- blacklist.include? merchant_id rescue false
19
+ blacklist.include?(merchant_id) rescue false
20
20
  end
21
21
 
22
22
  def kosher?
@@ -1,3 +1,3 @@
1
1
  module Kosher
2
- VERSION = '0.1.5'
2
+ VERSION = '0.1.6'
3
3
  end
@@ -110,3 +110,130 @@
110
110
  tnT+E+jS5/89Q+XfeGWzi8lBAAA=
111
111
 
112
112
  http_version: "1.1"
113
+ - !ruby/struct:VCR::HTTPInteraction
114
+ request: !ruby/struct:VCR::Request
115
+ method: :get
116
+ uri: http://ecs.amazonaws.jp:80/onca/xml?AWSAccessKeyId=0ZVSQ33MDFPQS8H2PM02&AssociateTag=papecava-20&ItemLookup.1.ItemId=0143105825&ItemLookup.Shared.Condition=All&ItemLookup.Shared.IdType=ASIN&ItemLookup.Shared.MerchantId=All&ItemLookup.Shared.ResponseGroup=OfferFull,SalesRank&Operation=ItemLookup&Service=AWSECommerceService&Signature=flcrUr1hw/P5GEKAcwSH4xIHPjI+BTbMuxoTIkxJPgE=&Timestamp=2011-03-04T11:45:58Z&Version=2010-11-01
117
+ body:
118
+ headers:
119
+ accept-encoding:
120
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
121
+ response: !ruby/struct:VCR::Response
122
+ status: !ruby/struct:VCR::ResponseStatus
123
+ code: 200
124
+ message: OK
125
+ headers:
126
+ date:
127
+ - Fri, 04 Mar 2011 11:45:59 GMT
128
+ server:
129
+ - Server
130
+ content-type:
131
+ - text/xml;charset=UTF-8
132
+ vary:
133
+ - Accept-Encoding,User-Agent
134
+ content-encoding:
135
+ - gzip
136
+ content-length:
137
+ - "4354"
138
+ nncoection:
139
+ - close
140
+ body: !binary |
141
+ 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
238
+
239
+ http_version: "1.1"
@@ -7,21 +7,15 @@ module Kosher
7
7
 
8
8
  let(:asin) { '0143105825' }
9
9
 
10
- let(:response) do
10
+ it "should build an item" do
11
11
  request = Request.new(credentials)
12
12
  request.locale = :us
13
13
  request.batchify([asin])
14
14
  algorithm = request.get
15
-
16
- algorithm.instance_variable_get(:@response)
17
- end
18
-
19
- let(:item) do
15
+ response = algorithm.instance_variable_get(:@response)
20
16
  doc = response.find('Item').first
21
- Item.build(doc)
22
- end
17
+ item = Item.build(doc)
23
18
 
24
- it "should build an item" do
25
19
  item.should be_a Item
26
20
  item.asin.should eql asin
27
21
  item.offers_count.should be > 0
@@ -29,6 +23,24 @@ module Kosher
29
23
  item.offers.count.should > 0
30
24
  item.offers.first.should be_a Offer
31
25
  end
26
+
27
+ it "should senify Yen in Japanese requests" do
28
+ request = Request.new(credentials)
29
+ request.locale = :jp
30
+ request.batchify([asin])
31
+ algorithm = request.get
32
+ response = algorithm.instance_variable_get(:@response)
33
+ doc = response.find('Item').first
34
+
35
+ doc['Offers']['Offer'].each do |offer|
36
+ offer['OfferListing']['Price']['Amount'] = 1
37
+ end
38
+ item = Item.build(doc)
39
+
40
+ item.offers.each do |offer|
41
+ offer.cents.should eql 100
42
+ end
43
+ end
32
44
  end
33
45
  end
34
46
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: kosher
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.5
5
+ version: 0.1.6
6
6
  platform: ruby
7
7
  authors:
8
8
  - Paper Cavalier
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-03-03 00:00:00 +00:00
13
+ date: 2011-03-04 00:00:00 +00:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency