handcrafted-a2ws 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
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