paapi 0.0.5 → 0.0.6

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
  SHA256:
3
- metadata.gz: d2aeab018291670cd9c6bcf538840db6444b4c0dc1ffe010cbccb438655079ea
4
- data.tar.gz: f5c2a7bc4e0ea9de5613a646ca1abfe1de596e71f0594fc85e57020e69406dd7
3
+ metadata.gz: 575a4e25893cf1bb736c8408e3e20bc6b5715106c08fb2091f345da874ef92e7
4
+ data.tar.gz: fc0bd5eb43f322b06791debb6e5bbbfed24229d05b976eadab85ade83db460e4
5
5
  SHA512:
6
- metadata.gz: a08ea8ac7bdd9d55961e8e76f831726b0a49d0ed717d945151a7570e59d3d5ad99c0efc5612027bc471988da81a5500137c9f5e067ed10bdb84ba3c8598dce77
7
- data.tar.gz: c861621b747bb23263cf170d26aae98d6a0ed1a68408039cc68eb8e4135ac6a3afb99f93de89506c65d48a25a6a2d7ad9bd3abdd10c2a79ebdcfc043f7abf09a
6
+ metadata.gz: a64c83aed626c43c29506fe089ea12bf9bfc462e47ea638b6b9a7c3c85e7d056cb28627bb78e6c7337fd1c8bd612d2a9c78e21fbb2b6a37530650731b66d1aa5
7
+ data.tar.gz: db1456668417437c546c32141b5cb9491ced6ee78ce1fab75854d8f9423ea92683bf836df3a9b0dc024d63f238fc4c7f4769bdc6f363c5230c410cf22f2ae3d7
data/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ ## 0.0.6
2
+ - Handle more date parsing failures.
3
+ - Get width, height, depth and weight from items
4
+ ## 0.0.5
5
+
6
+ - Merged pull request #3 allowing options to be passed into the get_items and get_variations request
7
+ - Merged #4 a bug fix for image_url
8
+ - Added test cases for parsing response
9
+
data/lib/paapi/client.rb CHANGED
@@ -29,7 +29,7 @@ module Paapi
29
29
  @market = a_market
30
30
  @marketplace = MARKETPLACES[market.to_sym]
31
31
  if !Paapi.partner_market.nil?
32
- @partner_tag = Paapi.partner_market.dig(a_market) || @partner_tag
32
+ @partner_tag = Paapi.partner_market.dig(a_market.to_sym) || @partner_tag
33
33
  end
34
34
  end
35
35
 
data/lib/paapi/item.rb CHANGED
@@ -1,8 +1,13 @@
1
1
  require 'nameable'
2
+ require 'forwardable'
2
3
 
3
4
  module Paapi
4
5
  class Item
6
+ extend Forwardable
5
7
  attr_accessor :hash
8
+
9
+ def_delegators :@hash, :dig
10
+
6
11
  def initialize(data)
7
12
  @hash = data
8
13
  end
@@ -37,12 +42,12 @@ module Paapi
37
42
 
38
43
  def publication_date
39
44
  d = get(%w{ItemInfo ContentInfo PublicationDate DisplayValue})
40
- return d.nil? ? nil : Date.parse(d)
45
+ return Date.parse(d) rescue nil
41
46
  end
42
47
 
43
48
  def release_date
44
49
  d = get(%w{ItemInfo ProductInfo ReleaseDate DisplayValue})
45
- return d.nil? ? nil : Date.parse(d)
50
+ return Date.parse(d) rescue nil
46
51
  end
47
52
 
48
53
  def contributors
@@ -77,6 +82,18 @@ module Paapi
77
82
  contributors_of 'Publisher'
78
83
  end
79
84
 
85
+ def languages
86
+ get(%w{ItemInfo ContentInfo Languages DisplayValues})
87
+ end
88
+
89
+ def original_language
90
+ languages&.find {|l| l['Type'] == 'Original Language' }&.dig('DisplayValue')
91
+ end
92
+
93
+ def published_language
94
+ languages&.find {|l| l['Type'] == 'Published' }&.dig('DisplayValue')
95
+ end
96
+
80
97
  def eans
81
98
  get(%w{ItemInfo ExternalIds EANs DisplayValues})
82
99
  end
@@ -105,6 +122,26 @@ module Paapi
105
122
  get(%w{ItemInfo TechnicalInfo Formats DisplayValues})
106
123
  end
107
124
 
125
+ def height
126
+ data = get(%w{ItemInfo ProductInfo ItemDimensions Height})
127
+ [data.dig('DisplayValue'), data.dig('Unit')].join(' ')
128
+ end
129
+
130
+ def length
131
+ data = get(%w{ItemInfo ProductInfo ItemDimensions Length})
132
+ [data.dig('DisplayValue'), data.dig('Unit')].join(' ')
133
+ end
134
+
135
+ def width
136
+ data = get(%w{ItemInfo ProductInfo ItemDimensions Width})
137
+ [data.dig('DisplayValue'), data.dig('Unit')].join(' ')
138
+ end
139
+
140
+ def weight
141
+ data = get(%w{ItemInfo ProductInfo ItemDimensions Weight})
142
+ [data.dig('DisplayValue'), data.dig('Unit')].join(' ')
143
+ end
144
+
108
145
  def kindle?
109
146
  !package.nil? && package&.include?('Kindle eBook')
110
147
  end
data/lib/paapi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Paapi
2
- VERSION = '0.0.5'
2
+ VERSION = '0.0.6'
3
3
  end
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.5
4
+ version: 0.0.6
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-10 00:00:00.000000000 Z
11
+ date: 2019-10-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -131,6 +131,7 @@ extra_rdoc_files: []
131
131
  files:
132
132
  - ".gitignore"
133
133
  - ".travis.yml"
134
+ - CHANGELOG.md
134
135
  - Gemfile
135
136
  - LICENSE.txt
136
137
  - README.md