paapi 0.0.6 → 0.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +5 -0
- data/lib/paapi.rb +1 -0
- data/lib/paapi/item.rb +1 -1
- data/lib/paapi/listing.rb +48 -0
- data/lib/paapi/response.rb +5 -8
- data/lib/paapi/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cd5bdeba6d4ee3d4958b7d23f6cc3402a2461a6ea3791411d5f43db1bef8a9b6
|
4
|
+
data.tar.gz: 240b621b910f947bd7b6bfdec340ee435439262b28435c16b8f95073ac6e9ae7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cfac80fc181b08a016f061811582f64f5bfbed490296899097d8942df86c90f6182e59dc622755d79a3203eee4e3a3aa62e5284e2cdcbc7defc6f67c12a09e68
|
7
|
+
data.tar.gz: 767aaa41948585bd10b9a6fd4a25a3957028cf102bcd72c4cfebf65e7db9ff0c842396db5865824977eeba1d37182c10e5bed59054a0ddc558fd2928f6fdc2ca
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
|
+
## 0.0.7
|
2
|
+
- Rename Item#json to Item#hash for consistency
|
3
|
+
- Add offer / listing parsing
|
4
|
+
|
1
5
|
## 0.0.6
|
2
6
|
- Handle more date parsing failures.
|
3
7
|
- Get width, height, depth and weight from items
|
8
|
+
|
4
9
|
## 0.0.5
|
5
10
|
|
6
11
|
- Merged pull request #3 allowing options to be passed into the get_items and get_variations request
|
data/lib/paapi.rb
CHANGED
data/lib/paapi/item.rb
CHANGED
@@ -0,0 +1,48 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'forwardable'
|
4
|
+
|
5
|
+
module Paapi
|
6
|
+
class Listing
|
7
|
+
extend Forwardable
|
8
|
+
def_delegators :@hash, :dig
|
9
|
+
|
10
|
+
attr_accessor :hash
|
11
|
+
def initialize(data)
|
12
|
+
@hash = data
|
13
|
+
end
|
14
|
+
|
15
|
+
def availability
|
16
|
+
get(%w{Availability Message})
|
17
|
+
end
|
18
|
+
|
19
|
+
def amazon_fulfilled?
|
20
|
+
get(%w{DeliveryInfo IsAmazonFulfilled})
|
21
|
+
end
|
22
|
+
|
23
|
+
def free_shipping_eligible?
|
24
|
+
get(%w{DeliveryInfo IsFreeShippingEligible})
|
25
|
+
end
|
26
|
+
|
27
|
+
def prime_eligible?
|
28
|
+
get(%w{DeliveryInfo IsPrimeEligible})
|
29
|
+
end
|
30
|
+
|
31
|
+
def price
|
32
|
+
get(%w{Price})
|
33
|
+
end
|
34
|
+
|
35
|
+
def merchant
|
36
|
+
get(%w{MerchantInfo Name})
|
37
|
+
end
|
38
|
+
|
39
|
+
def condition
|
40
|
+
get(%w{Condition Value})
|
41
|
+
end
|
42
|
+
|
43
|
+
def get(keys)
|
44
|
+
@hash.dig(*keys)
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
end
|
data/lib/paapi/response.rb
CHANGED
@@ -2,14 +2,14 @@ require 'json'
|
|
2
2
|
|
3
3
|
module Paapi
|
4
4
|
class Response
|
5
|
-
attr_reader :http_response, :
|
5
|
+
attr_reader :http_response, :hash, :datas, :doc, :items
|
6
6
|
|
7
7
|
def initialize(response)
|
8
8
|
@http_response = response
|
9
|
-
@
|
9
|
+
@hash = JSON.parse(response.body.to_s)
|
10
10
|
|
11
|
-
@items_data = @
|
12
|
-
@items_data ||= @
|
11
|
+
@items_data = @hash.dig('ItemsResult', 'Items')
|
12
|
+
@items_data ||= @hash.dig('SearchResult', 'Items')
|
13
13
|
@items_data ||= []
|
14
14
|
|
15
15
|
@items = @items_data.map {|d| Item.new(d)}
|
@@ -17,10 +17,7 @@ module Paapi
|
|
17
17
|
end
|
18
18
|
|
19
19
|
def result_count
|
20
|
-
@
|
20
|
+
@hash.dig('SearchResult', 'TotalResultCount')
|
21
21
|
end
|
22
|
-
|
23
|
-
|
24
|
-
|
25
22
|
end
|
26
23
|
end
|
data/lib/paapi/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paapi
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Dan Milne
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-10-
|
11
|
+
date: 2019-10-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -141,6 +141,7 @@ files:
|
|
141
141
|
- lib/paapi.rb
|
142
142
|
- lib/paapi/client.rb
|
143
143
|
- lib/paapi/item.rb
|
144
|
+
- lib/paapi/listing.rb
|
144
145
|
- lib/paapi/response.rb
|
145
146
|
- lib/paapi/version.rb
|
146
147
|
- paapi.gemspec
|