paapi 0.0.5 → 0.0.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.
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