class Refinery::Generators::GeneratedAttribute

Attributes

refinery_type[RW]

Public Class Methods

new(name, type=nil, index_type=false, attr_options={}) click to toggle source
Calls superclass method
# File lib/refinery/generators/generated_attribute.rb, line 14
def initialize(name, type=nil, index_type=false, attr_options={})
  super
  self.refinery_type  = type
  self.type           = refinerize_type(type)
end
reference?(type) click to toggle source
# File lib/refinery/generators/generated_attribute.rb, line 9
def reference?(type)
  [:references, :belongs_to, :image, :resource].include? type
end

Public Instance Methods

reference?() click to toggle source
# File lib/refinery/generators/generated_attribute.rb, line 20
def reference?
  self.class.reference?(refinery_type)
end

Private Instance Methods

refinerize_name(name, type) click to toggle source
# File lib/refinery/generators/generated_attribute.rb, line 40
def refinerize_name(name, type)
  refinery_engine_type?(type) ? "#{name}_id".gsub("_id_id", "_id") : name
end
refinerize_type(type) click to toggle source
# File lib/refinery/generators/generated_attribute.rb, line 26
def refinerize_type(type)
  if refinery_engine_type?(type)
    :integer
  elsif  refinery_form_type?(type)
    if type == :checkbox
      :boolean
    else
      :string
    end
  else
    type
  end
end
refinery_engine_type?(type) click to toggle source
# File lib/refinery/generators/generated_attribute.rb, line 49
def refinery_engine_type?(type)
  [:image, :resource].include? type
end
refinery_form_type?(type) click to toggle source
# File lib/refinery/generators/generated_attribute.rb, line 44
def refinery_form_type?(type)
  [:radio, :select, :checkbox].include? type

end