Class: LearnRails::Associations::HasOne

Inherits:
LearnRails::Associations show all
Defined in:
lib/learn_rails/associations/has_one.rb

Class Method Summary collapse

Class Method Details

.code_for(params) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/learn_rails/associations/has_one.rb', line 3

def self.code_for(params)
  associate_model = (params[:class_name] || params[:associate]).camelize
  foreign_id      = params[:foreign_key] || params[:model] + "_id"
  primary_id      = params[:primary_key] || "id"

  <<-code.gsub(/^\s+/, '')
    # def #{params[:associate]}(force_reload = false)
    #   @#{params[:associate]} = nil if force_reload
    #   @#{params[:associate]} ||= #{finder_method params, foreign_id, primary_id, associate_model}
    # end
    #{ setter_method(params, foreign_id, primary_id) unless params[:readonly] }
    #
    # def build_#{params[:associate]}(attributes = {})
    #   attributes[:#{foreign_id}] = self.#{primary_id}
    #   #{associate_model}.new(attributes)
    # end
    #
    # def create_#{params[:associate]}(attributes = {})
    #   attributes[:#{foreign_id}] = self.#{primary_id}
    #   #{associate_model}.create(attributes)
    # end
    #
    # def create_#{params[:associate]}!(attributes = {})
    #   attributes[:#{foreign_id}] = self.#{primary_id}
    #   #{associate_model}.create!(attributes)
    # end
  code
end