paapi 0.0.7 → 0.1.2

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: cd5bdeba6d4ee3d4958b7d23f6cc3402a2461a6ea3791411d5f43db1bef8a9b6
4
- data.tar.gz: 240b621b910f947bd7b6bfdec340ee435439262b28435c16b8f95073ac6e9ae7
3
+ metadata.gz: 259e83f7564df1078faa89b5c4c284bb732c4ef4d325bbf5148cac06943469a7
4
+ data.tar.gz: 07fd0a94307184a443a86821d40ee3c9e8f9a25c2343e09e321828f90701e50d
5
5
  SHA512:
6
- metadata.gz: cfac80fc181b08a016f061811582f64f5bfbed490296899097d8942df86c90f6182e59dc622755d79a3203eee4e3a3aa62e5284e2cdcbc7defc6f67c12a09e68
7
- data.tar.gz: 767aaa41948585bd10b9a6fd4a25a3957028cf102bcd72c4cfebf65e7db9ff0c842396db5865824977eeba1d37182c10e5bed59054a0ddc558fd2928f6fdc2ca
6
+ metadata.gz: e5e1cd4cc02383c8b6b3d6a3da997e847cb103e8e0a4abfaea50300c43a429dec2695269fa5c02ecbcf978c78020b08358c0804db03434f8981de761a30ce548
7
+ data.tar.gz: cdf7e41cd53b99b4402348ea17dd32e092d67d05144358dfcc87c8ac1ed79b130133be27a754421b392b8be10ba9dcbbe702571071ee4095aea7b4e6c323fd84
@@ -1,3 +1,15 @@
1
+ ## 0.1.2
2
+ - Use Contributor RoleType, rather than Role. RoleType uses lowercase, rather than capitalised.
3
+
4
+ ## 0.1.0
5
+ - Remove Nameable dependancy and return the data as the API returns it.
6
+
7
+ ## 0.0.9
8
+ - Fix bug with no contributors in response
9
+
10
+ ## 0.0.8
11
+ - Fix a bug when accessing an empty name via Item
12
+
1
13
  ## 0.0.7
2
14
  - Rename Item#json to Item#hash for consistency
3
15
  - Add offer / listing parsing
data/README.md CHANGED
@@ -2,10 +2,10 @@
2
2
 
3
3
  `paapi` is a slim wrapper around [Amazon's Product Advertising API 5.0](https://webservices.amazon.com/paapi5/documentation/).
4
4
 
5
- This gem is under heavy development and currently incomplete.
6
-
7
5
  [![Build Status](https://travis-ci.org/dkam/paapi.svg?branch=master)](https://travis-ci.org/dkam/paapi)
8
6
 
7
+ If this gem doesn't meet your needs, try the [Vacumm gem](https://github.com/hakanensari/vacuum).
8
+
9
9
  ## Installation
10
10
 
11
11
  Add this line to your application's Gemfile:
@@ -36,7 +36,7 @@ Paapi.configure do |config|
36
36
  end
37
37
  ```
38
38
 
39
- Configurable itemes:
39
+ Configurable items:
40
40
  * access_key
41
41
  * secret_key
42
42
  * partner_tag
@@ -67,7 +67,7 @@ client.partner_tag
67
67
 
68
68
  The full list of market keys is `au, br, ca, fr, de, in, it, jp, mx, es, tr, ae, uk, us`
69
69
 
70
- ### Using the Paapi
70
+ ### Using Paapi
71
71
 
72
72
  ```ruby
73
73
  require 'paapi'
@@ -1,4 +1,3 @@
1
- require 'nameable'
2
1
  require 'forwardable'
3
2
 
4
3
  module Paapi
@@ -51,35 +50,40 @@ module Paapi
51
50
  end
52
51
 
53
52
  def contributors
54
- get(%w{ItemInfo ByLineInfo Contributors})
53
+ Array(get(%w{ItemInfo ByLineInfo Contributors}))
55
54
  end
56
55
 
57
56
  def contributors_of(kind)
58
- contributors&.select { |e| e['Role'] == kind.to_s.gsub(/([[:alpha:]]+)/) { |w| w.capitalize } }&.map { |e| Nameable(e['Name'])}
57
+ kind = kind.to_s.gsub(/([[:alpha:]]+)/) { |w| w.downcase }
58
+ contributors.select { |e| e['RoleType'] == kind }&.map { |e| e.dig('Name') }&.reject {|n| n.to_s.empty?}
59
59
  end
60
60
 
61
61
  def actors
62
- contributors_of 'Actor'
62
+ contributors_of 'actor'
63
63
  end
64
64
 
65
65
  def artists
66
- contributors_of 'Artist'
66
+ contributors_of 'artist'
67
67
  end
68
68
 
69
69
  def authors
70
- contributors_of 'Author'
70
+ contributors_of 'author'
71
+ end
72
+
73
+ def director
74
+ contributors_of 'director'
71
75
  end
72
76
 
73
77
  def illustrators
74
- contributors_of 'Illustrator'
78
+ contributors_of 'illustrator'
75
79
  end
76
80
 
77
81
  def narrators
78
- contributors_of 'Narrator'
82
+ contributors_of 'narrator'
79
83
  end
80
84
 
81
85
  def publishers
82
- contributors_of 'Publisher'
86
+ contributors_of 'publisher'
83
87
  end
84
88
 
85
89
  def languages
@@ -10,6 +10,7 @@ module Paapi
10
10
 
11
11
  @items_data = @hash.dig('ItemsResult', 'Items')
12
12
  @items_data ||= @hash.dig('SearchResult', 'Items')
13
+ @items_data ||= @hash.dig('VariationsResult', 'Items')
13
14
  @items_data ||= []
14
15
 
15
16
  @items = @items_data.map {|d| Item.new(d)}
@@ -1,3 +1,3 @@
1
1
  module Paapi
2
- VERSION = '0.0.7'
2
+ VERSION = '0.1.2'
3
3
  end
@@ -26,12 +26,11 @@ Gem::Specification.new do |spec|
26
26
  spec.require_paths = ['lib']
27
27
 
28
28
  spec.add_development_dependency 'bundler', '~> 2.0'
29
- spec.add_development_dependency 'rake', '~> 10.0'
29
+ spec.add_development_dependency 'rake', '>= 12.3.r3'
30
30
  spec.add_development_dependency 'minitest', '~> 5.0'
31
31
  spec.add_development_dependency 'byebug', '~> 11'
32
32
  spec.add_development_dependency 'awesome_print', '~> 1.8'
33
33
 
34
34
  spec.add_dependency 'http', '~> 4'
35
35
  spec.add_dependency 'aws-sigv4', '~> 1'
36
- spec.add_dependency 'nameable', '~> 1'
37
36
  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.7
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Milne
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-23 00:00:00.000000000 Z
11
+ date: 2020-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,16 +28,16 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: 12.3.r3
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '10.0'
40
+ version: 12.3.r3
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: minitest
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -108,21 +108,7 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: '1'
111
- - !ruby/object:Gem::Dependency
112
- name: nameable
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - "~>"
116
- - !ruby/object:Gem::Version
117
- version: '1'
118
- type: :runtime
119
- prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - "~>"
123
- - !ruby/object:Gem::Version
124
- version: '1'
125
- description:
111
+ description:
126
112
  email:
127
113
  - d@nmilne.com
128
114
  executables: []
@@ -151,7 +137,7 @@ licenses:
151
137
  metadata:
152
138
  homepage_uri: https://github.com/dkam/paapi
153
139
  source_code_uri: https://github.com/dkam/paapi
154
- post_install_message:
140
+ post_install_message:
155
141
  rdoc_options: []
156
142
  require_paths:
157
143
  - lib
@@ -166,8 +152,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
152
  - !ruby/object:Gem::Version
167
153
  version: '0'
168
154
  requirements: []
169
- rubygems_version: 3.0.3
170
- signing_key:
155
+ rubygems_version: 3.1.2
156
+ signing_key:
171
157
  specification_version: 4
172
158
  summary: Client library for Amazon's Product Advertising API v5
173
159
  test_files: []