Class: DMM::Response::Item
- Inherits:
-
Object
- Object
- DMM::Response::Item
- Defined in:
- lib/ruby-dmm/response/item.rb
Constant Summary collapse
- PREDEFINED_KEYS =
[ :date, :iteminfo, :list_price, :price, :price_all, :prices, :small_images, ]
- ALIAS_METHOD_MAP =
{ :bandaiinfo => :bandai_info, :cdinfo => :cd_info, :image_url => :images, }
Instance Method Summary collapse
-
#initialize(item) ⇒ Item
constructor
A new instance of Item.
- #large_images ⇒ Object
Constructor Details
#initialize(item) ⇒ Item
Returns a new instance of Item.
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/ruby-dmm/response/item.rb', line 27 def initialize(item) item.each do |key, value| key = key.to_sym case key when :date @date = Time.parse(value) if value when :iteminfo @iteminfo = ItemInfo.new(value) if value when :sample_image_url @small_images = value[:sample_s][:image] if value when :prices setup_prices(value) if value else self.class.class_eval do unless method_defined?(key) define_method "#{key}" do instance_variable_get("@#{key}") end if name = ALIAS_METHOD_MAP[key.to_sym] alias_method name, key.to_sym end end end instance_variable_set("@#{key}", item[key]) end end end |
Instance Method Details
#large_images ⇒ Object
55 56 57 58 59 |
# File 'lib/ruby-dmm/response/item.rb', line 55 def large_images @small_images && @small_images.map do |image| image.gsub(/(-[0-9]+\.jpg)/, 'jp\1') end end |