class Faat::FaatObject
base FaatClass, in this class made, by the main logic of this class of objects, inherited basic resources and services
Public Class Methods
method_missing(name, *attr, &block)
click to toggle source
singleton method :method_missing
Calls superclass method
# File lib/faat/faat_object/faat_object.rb, line 38 def method_missing(name, *attr, &block) # initialize :method_missing for accessing for # ActiveRecord model class_methods class_eval do @class_name.constantize.send(name, *attr, &block) || super end end
new(resource)
click to toggle source
# File lib/faat/faat_object/faat_object.rb, line 7 def initialize(resource) # setup resource name for accessing from other methods @resource_name = resource.class.name.underscore # setup :attr_accessor for resource attributes self.class.send(:attr_accessor, resource.class.name.underscore) # setup :class_name for resource class self.class.class_eval { @class_name = resource.class.name } instance_variable_set("@#{resource.class.name.underscore}", resource) end
respond_to_missing?(name, include_private = false)
click to toggle source
Calls superclass method
# File lib/faat/faat_object/faat_object.rb, line 46 def respond_to_missing?(name, include_private = false) # getting respond_to? access to ActiveRecord model class_methods class_eval do @class_name.constantize.respond_to?(name) || super end end
Public Instance Methods
method_missing(name, *attr, &block)
click to toggle source
initialize :method_missing for ActiveRecord methods like :save, :valid?, :destroy and others
Calls superclass method
# File lib/faat/faat_object/faat_object.rb, line 21 def method_missing(name, *attr, &block) # getting resource by instance variable :resource_name resource.send(name, *attr, &block) || super end
respond_to_missing?(name, include_private = false)
click to toggle source
initialize :respond_to_missing? method for working with ActiveRecord instance methods
Calls superclass method
# File lib/faat/faat_object/faat_object.rb, line 29 def respond_to_missing?(name, include_private = false) # getting resource by instance variable :resource_name, # for :respond_to? method resource.respond_to?(name) || super end
Private Instance Methods
resource()
click to toggle source
# File lib/faat/faat_object/faat_object.rb, line 56 def resource instance_variable_get("@#{@resource_name}") end