handcrafted-a2ws 0.1.8 → 0.1.9

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.
data/VERSION.yml CHANGED
@@ -1,3 +1,3 @@
1
1
  :major: 0
2
2
  :minor: 1
3
- :patch: 8
3
+ :patch: 9
data/a2ws.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{a2ws}
5
- s.version = "0.1.8"
5
+ s.version = "0.1.9"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Andy Shen", "Josh Owens"]
data/lib/a2ws/base.rb CHANGED
@@ -14,7 +14,7 @@ module A2WS
14
14
 
15
15
  private
16
16
 
17
- def downcase_keys(hash)
17
+ def self.downcase_keys(hash)
18
18
  new_hash = {}
19
19
  hash.keys.each do |key|
20
20
  value = hash.delete(key)
@@ -25,7 +25,7 @@ module A2WS
25
25
  new_hash
26
26
  end
27
27
 
28
- def downcase_key(key)
28
+ def self.downcase_key(key)
29
29
  key.titlecase.downcase.gsub(' ', '_')
30
30
  end
31
31
 
data/lib/a2ws/image.rb CHANGED
@@ -2,8 +2,9 @@ module A2WS
2
2
 
3
3
 
4
4
  class Image
5
- attr_accessor :size, :data_hash
6
5
  include Methodize
6
+ attr_accessor :size
7
+
7
8
 
8
9
  def initialize(size, data)
9
10
  @size, @data_hash = size, data
@@ -2,18 +2,17 @@ module A2WS
2
2
 
3
3
 
4
4
  class ImageSearch < Base
5
- attr_accessor :item_id
6
5
 
7
- def initialize(item_id)
8
- @item_id = item_id
9
- end
10
-
11
- def find
12
- self.class.default_params :ResponseGroup => "Images"
13
- result = self.class.get('/onca/xml', :query => {:ItemId => @item_id, :Operation => "ItemLookup"})
14
- result["ItemLookupResponse"]["Items"]["Item"].delete("ImageSets")
15
- result["ItemLookupResponse"]["Items"]["Item"].delete("ASIN")
16
- downcase_keys(result["ItemLookupResponse"]["Items"]["Item"]).collect { |size, data| Image.new(size, data) }
6
+ def self.find(item)
7
+ items = get('/onca/xml', :query => {:ItemId => item, :Operation => "ItemLookup", :ResponseGroup => "Images"})
8
+ puts items.inspect
9
+ if items['ItemLookupResponse']["Items"]["Request"]['IsValid'] == 'True'
10
+ items["ItemLookupResponse"]["Items"]["Item"].delete("ImageSets")
11
+ items["ItemLookupResponse"]["Items"]["Item"].delete("ASIN")
12
+ downcase_keys(items["ItemLookupResponse"]["Items"]["Item"]).collect { |size, data| Image.new(size, data) }
13
+ else
14
+ raise items['Request']['Errors']['Error']['Message']
15
+ end
17
16
  end
18
17
 
19
18
  end
data/lib/a2ws/item.rb CHANGED
@@ -2,31 +2,21 @@ module A2WS
2
2
 
3
3
 
4
4
  class Item
5
- attr_accessor :data_hash
6
5
  include Methodize
7
6
 
8
- def initialize(item)
9
- @data_hash = item
10
- end
11
-
12
7
  def item_attributes
13
8
  ItemAttributes.new @data_hash["item_attributes"]
14
9
  end
15
10
 
16
11
  def images
17
- ImageSearch.new(@data_hash["asin"]).find
12
+ ImageSearch.find(@data_hash["asin"])
18
13
  end
19
14
 
20
15
  end
21
16
 
22
17
  class ItemAttributes
23
- attr_accessor :data_hash
24
18
  include Methodize
25
19
 
26
- def initialize(item_attributes)
27
- @data_hash = item_attributes
28
- end
29
-
30
20
  end
31
21
 
32
22
 
@@ -1,15 +1,10 @@
1
1
  module A2WS
2
2
 
3
3
  class ItemSearch < Base
4
- attr_accessor :search_index
5
4
 
6
- def initialize(search_index = :All)
7
- @search_index = search_index
8
- end
9
-
10
- def find(keywords, options = {})
11
- options.merge!({:Keywords => keywords, :SearchIndex => @search_index})
12
- result = self.class.get('/onca/xml', :query => options)
5
+ def self.find(keywords, search_index = :All, options = {})
6
+ options.merge!({:Keywords => keywords, :SearchIndex => search_index})
7
+ result = get('/onca/xml', :query => options)
13
8
 
14
9
  items = result["ItemSearchResponse"]["Items"]
15
10
  if items['Request']['IsValid'] == 'True'
@@ -1,5 +1,11 @@
1
1
  module Methodize
2
2
 
3
+ attr_accessor :data_hash
4
+
5
+ def initialize(attributes)
6
+ @data_hash = attributes
7
+ end
8
+
3
9
  def method_missing(meth,*args)
4
10
  if @data_hash.keys.include?(meth.to_s)
5
11
  @data_hash[meth.to_s]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: handcrafted-a2ws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Shen