Class: BingSearch::Model

Inherits:
Object
  • Object
show all
Defined in:
lib/bing-search/models.rb

Direct Known Subclasses

Image, Result

Instance Method Summary collapse

Constructor Details

#initialize(attrs = {}) ⇒ Model

Returns a new instance of Model.

Parameters:

  • attrs (Hash) (defaults to: {})


5
6
7
8
9
# File 'lib/bing-search/models.rb', line 5

def initialize(attrs = {})
  attrs.each do |k, v|
    public_send "#{k}=", v
  end
end

Instance Method Details

#set(attr, value) ⇒ self

Sets an attribute via a public instance method on the receiver or its ancestors up to but not including Object

Parameters:

  • attr (Symbol)
  • value

Returns:

  • (self)

Raises:

  • (ArgumentError)

    No public setter for attr on the receiver or its ancestors up to Object



20
21
22
23
24
25
26
# File 'lib/bing-search/models.rb', line 20

def set(attr, value)
  setter = "#{attr}=".to_sym

  self.class.attr_methods.include?(setter) ?
    public_send(setter, value) :
    raise(ArgumentError, "Can't set attr #{attr} of #{self}")
end