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.
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/ruby-dmm/response/item.rb', line 26 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) attr_reader key 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
52 53 54 55 56 |
# File 'lib/ruby-dmm/response/item.rb', line 52 def large_images @small_images && @small_images.map do |image| image.gsub(/(-[0-9]+\.jpg)/, 'jp\1') end end |