paapi 0.0.7 → 0.1.2

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: 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: []