bazaar_voice 0.1.0 → 0.1.1

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
  SHA1:
3
- metadata.gz: 3f611880f32476709b5462d65ef6cf93cbd88fa0
4
- data.tar.gz: 8548328f10b53d42c51cfc573a678ddd1b1081e6
3
+ metadata.gz: 87bbb2dffddaa2f59f2f47d626b0ec21fcdcfb6a
4
+ data.tar.gz: 2306e2c63f10bb6148ad39665fbe674e12821ce1
5
5
  SHA512:
6
- metadata.gz: 2f514942827c750a0489bb5bd63407d595820c5450e731268bc6f894fb191d8d5da5afa835b9d86c6e980bf268cd1c5168fde4f4c05cbe42737ffbae639cd529
7
- data.tar.gz: 69e7898235ff7de373dbca002c7e359b54447b7ae8cfcd2a0f8031f2f7c8a8c9095e7fa607e8234cb6f27d96aca6ef6e4a3ca14c7367383ae1de067ad60dc054
6
+ metadata.gz: 6599ba3565c98a41fc9025aedd5d57e30501ba37acf4f2bc210f114443d988aff583832cfd75313bad89de1f87afe3459be50466ba2fe0119e895140a0c8983d
7
+ data.tar.gz: d804960ee5400b32e804c14a6f77b33a08b4c0fabdaf2ec4513f1a2c443bd09123e3ba5e3fdc8b7eada83fbff2aa13e06572537c8cfab764d98295180f570c4b
data/README.md CHANGED
@@ -20,7 +20,7 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
  ```
23
- BizaarVoice::Api.config do |c|
23
+ BizaarVoice::Api.configure do |c|
24
24
  c.passkey = 'YOUR_API_KEY_GOES_HERE'
25
25
  c.protocol = 'http' # defautls to 'https'
26
26
  c.host = 'stg.api.bazaarvoice.com' # defautls to production. i.e.: 'api.bazaarvoice.com'
data/bazaar_voice.gemspec CHANGED
@@ -27,4 +27,5 @@ Gem::Specification.new do |spec|
27
27
  spec.add_development_dependency 'guard-rubocop', '~> 1.2', '>= 1.2.0'
28
28
  spec.add_development_dependency 'rubocop-rspec', '~> 1.3', '>= 1.3.0'
29
29
  spec.add_runtime_dependency 'rest-client', '~> 1.8', '>= 1.8.0'
30
+ spec.add_runtime_dependency 'json', '~> 1.8', '>= 1.8.3'
30
31
  end
@@ -1,3 +1,3 @@
1
1
  module BazaarVoice
2
- VERSION = '0.1.0'
2
+ VERSION = '0.1.1'
3
3
  end
data/lib/bazaar_voice.rb CHANGED
@@ -18,36 +18,47 @@ module BazaarVoice
18
18
  yield(configuration)
19
19
  end
20
20
 
21
- %w(reviews stories questions comments answers authors products statistics).each do |resource|
22
- define_method("get_#{resource}") do |argument|
21
+ # Some metaprogramming to define many similar methods.
22
+ %w(reviews categories stories questions comments answers authors products statistics).each do |resource|
23
+ define_method("get_#{resource}") do |argument = nil|
23
24
  get(resource, argument)
24
25
  end
25
26
  end
26
27
 
27
28
  private
28
29
 
29
- def get(resource, params)
30
- RestClient.get(uri(resource, params))
30
+ def rest_client
31
+ @rest_client ||= rest_client_with_logger
31
32
  end
32
33
 
33
- def uri(resource, params)
34
+ def rest_client_with_logger
35
+ RestClient.log = configuration.logger
36
+ RestClient
37
+ end
38
+
39
+ def get(resource, params = nil)
40
+ JSON.parse rest_client.get(uri(resource, params))
41
+ end
42
+
43
+ def uri(resource, params = nil)
34
44
  "#{configuration.protocol}://#{configuration.host}/data/#{resource}.#{configuration.format}#{query_string(params)}"
35
45
  end
36
46
 
37
- def query_string(params)
38
- all_params = { passkey: configuration.passkey, apiversion: configuration.apiversion }.merge(params)
47
+ def query_string(params = nil)
48
+ all_params = { passkey: configuration.passkey, apiversion: configuration.apiversion }.merge(params || {})
39
49
  '?' + all_params.map { |k, v| "#{k}=#{v}" }.join('&')
40
50
  end
41
51
  end
42
52
  end
43
53
 
44
54
  class Configuration
45
- attr_accessor :passkey, :apiversion, :host, :resource, :protocol, :format
55
+ attr_accessor :passkey, :apiversion, :host, :resource, :protocol, :format, :logger
46
56
  def initialize
47
57
  @apiversion = '5.4'
48
58
  @host = 'api.bazaarvoice.com'
49
59
  @protocol = 'https'
50
60
  @format = 'json'
61
+ @logger = $stdout
51
62
  end
52
63
  end
53
64
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bazaar_voice
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dean Shelton
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-08-28 00:00:00.000000000 Z
11
+ date: 2015-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -158,6 +158,26 @@ dependencies:
158
158
  - - ">="
159
159
  - !ruby/object:Gem::Version
160
160
  version: 1.8.0
161
+ - !ruby/object:Gem::Dependency
162
+ name: json
163
+ requirement: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - "~>"
166
+ - !ruby/object:Gem::Version
167
+ version: '1.8'
168
+ - - ">="
169
+ - !ruby/object:Gem::Version
170
+ version: 1.8.3
171
+ type: :runtime
172
+ prerelease: false
173
+ version_requirements: !ruby/object:Gem::Requirement
174
+ requirements:
175
+ - - "~>"
176
+ - !ruby/object:Gem::Version
177
+ version: '1.8'
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: 1.8.3
161
181
  description: Talk to Bazzar Voice API's with this handy gem
162
182
  email:
163
183
  - dshelt2@searshc.com