Module: Twitter::ClassUtilMixin::InstanceMethods
- Defined in:
- lib/vendor/twitter/lib/twitter/core.rb
Overview
Instance methods defined for Twitter::ModelMixin module.
Instance Method Summary collapse
-
#initialize(params = {}) ⇒ Object
Constructor/initializer that takes a hash of parameters that will initialize members or instance attributes to the values given.
Instance Method Details
#initialize(params = {}) ⇒ Object
Constructor/initializer that takes a hash of parameters that will initialize members or instance attributes to the values given. For example,
class FilmActor
include Twitter::ClassUtilMixin
attr_accessor :name
end
class Production
include Twitter::ClassUtilMixin
attr_accessor :title, :year, :actors
end
# Favorite actress...
jodhi = FilmActor.new(:name => "Jodhi May")
jodhi.name # => "Jodhi May"
# Favorite actor...
robert = FilmActor.new(:name => "Robert Lindsay")
robert.name # => "Robert Lindsay"
# Jane is also an excellent pick...gotta love her accent!
jane = FilmActor.new(name => "Jane Horrocks")
jane.name # => "Jane Horrocks"
# Witty BBC series...
mrs_pritchard = Production.new(:title => "The Amazing Mrs. Pritchard",
:year => 2005,
:actors => [jodhi, jane])
mrs_pritchard.title # => "The Amazing Mrs. Pritchard"
mrs_pritchard.year # => 2005
mrs_pritchard.actors # => [#<FilmActor:0xb79d6bbc @name="Jodhi May">,
<FilmActor:0xb79d319c @name="Jane Horrocks">]
# Any Ros Pritchard's out there to save us from the Tony Blair
# and Gordon Brown *New Labour* debacle? You've got my vote!
jericho = Production.new(:title => "Jericho",
:year => 2005,
:actors => [robert])
jericho.title # => "Jericho"
jericho.year # => 2005
jericho.actors # => [#<FilmActor:0xc95d3eec @name="Robert Lindsay">]
Assuming class FilmActor includes Twitter::ClassUtilMixin in the class definition and has an attribute of name, then that instance attribute will be set to “Jodhi May” for the actress object during object initialization (aka construction for you Java heads).
71 72 73 74 75 76 |
# File 'lib/vendor/twitter/lib/twitter/core.rb', line 71 def initialize(params = {}) params.each do |key,val| self.send("#{key}=", val) if self.respond_to? key end self.send(:init) if self.respond_to? :init end |