class Rails::Generators::ActiveModel
ActiveModel is a class to be implemented by each ORM to allow Rails to generate customized controller code.
The API has the same methods as ActiveRecord, but each method returns a string that matches the ORM API.
For example:
ActiveRecord::Generators::ActiveModel.find(Foo, "params[:id]") # => "Foo.find(params[:id])" Datamapper::Generators::ActiveModel.find(Foo, "params[:id]") # => "Foo.get(params[:id])"
On initialization, the ActiveModel accepts the instance name that will receive the calls:
builder = ActiveRecord::Generators::ActiveModel.new "@foo" builder.save # => "@foo.save"
The only exception in ActiveModel for ActiveRecord is the use of self.build instead of self.new.
Attributes
name[R]
Public Class Methods
all(klass)
click to toggle source
GET index
# File lib/rails/generators/active_model.rb, line 34 def self.all(klass) "#{klass}.all" end
build(klass, params=nil)
click to toggle source
GET new POST create
# File lib/rails/generators/active_model.rb, line 48 def self.build(klass, params=nil) if params "#{klass}.new(#{params})" else "#{klass}.new" end end
find(klass, params=nil)
click to toggle source
GET show GET edit PUT update DELETE destroy
# File lib/rails/generators/active_model.rb, line 42 def self.find(klass, params=nil) "#{klass}.find(#{params})" end
new(name)
click to toggle source
# File lib/rails/generators/active_model.rb, line 29 def initialize(name) @name = name end
Public Instance Methods
destroy()
click to toggle source
DELETE destroy
# File lib/rails/generators/active_model.rb, line 73 def destroy "#{name}.destroy" end
errors()
click to toggle source
POST create PUT update
# File lib/rails/generators/active_model.rb, line 68 def errors "#{name}.errors" end
save()
click to toggle source
POST create
# File lib/rails/generators/active_model.rb, line 57 def save "#{name}.save" end
update_attributes(params=nil)
click to toggle source
PUT update
# File lib/rails/generators/active_model.rb, line 62 def update_attributes(params=nil) "#{name}.update_attributes(#{params})" end