Class: Mws::Apis::Feeds::Product::DetailBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/mws/apis/feeds/product.rb

Instance Method Summary collapse

Constructor Details

#initialize(details) ⇒ DetailBuilder

Returns a new instance of DetailBuilder.



145
146
147
# File 'lib/mws/apis/feeds/product.rb', line 145

def initialize(details)
  @details = details
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



161
162
163
164
165
166
167
168
# File 'lib/mws/apis/feeds/product.rb', line 161

def method_missing(method, *args, &block)
  if block_given?
    @details[method] = {}
    DetailBuilder.new(@details[method]).instance_eval(&block)
  elsif args.length > 0
    @details[method] = args[0]
  end
end

Instance Method Details

#as_distance(amount, unit = nil) ⇒ Object



149
150
151
# File 'lib/mws/apis/feeds/product.rb', line 149

def as_distance(amount, unit=nil)
  Distance.new amount, unit
end

#as_money(amount, currency = nil) ⇒ Object



157
158
159
# File 'lib/mws/apis/feeds/product.rb', line 157

def as_money(amount, currency=nil)
  Money.new amount, currency
end

#as_weight(amount, unit = nil) ⇒ Object



153
154
155
# File 'lib/mws/apis/feeds/product.rb', line 153

def as_weight(amount, unit=nil)
  Weight.new amount, unit
end