Class: Bhf::Data::Reflection

Inherits:
Object
  • Object
show all
Defined in:
lib/bhf/data.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(reflection, options = {}) ⇒ Reflection

Returns a new instance of Reflection.



99
100
101
102
103
104
105
106
107
# File 'lib/bhf/data.rb', line 99

def initialize(reflection, options = {})
  @reflection = reflection
  @info = options[:info]
  @link = options[:link].downcase.to_sym unless options[:link].blank?

  @overwrite_type = options[:overwrite_type].to_sym if options[:overwrite_type]
  @overwrite_display_type = options[:overwrite_display_type].to_sym if options[:overwrite_display_type]
  @overwrite_show_type = options[:overwrite_show_type].to_sym if options[:overwrite_show_type]
end

Instance Attribute Details

#infoObject (readonly)

Returns the value of attribute info.



97
98
99
# File 'lib/bhf/data.rb', line 97

def info
  @info
end

Returns the value of attribute link.



97
98
99
# File 'lib/bhf/data.rb', line 97

def link
  @link
end

#overwrite_display_typeObject (readonly)

Returns the value of attribute overwrite_display_type.



97
98
99
# File 'lib/bhf/data.rb', line 97

def overwrite_display_type
  @overwrite_display_type
end

#overwrite_show_typeObject (readonly)

Returns the value of attribute overwrite_show_type.



97
98
99
# File 'lib/bhf/data.rb', line 97

def overwrite_show_type
  @overwrite_show_type
end

#reflectionObject (readonly)

Returns the value of attribute reflection.



97
98
99
# File 'lib/bhf/data.rb', line 97

def reflection
  @reflection
end

Instance Method Details

#display_typeObject



129
130
131
132
# File 'lib/bhf/data.rb', line 129

def display_type
  return @overwrite_display_type if @overwrite_display_type
  :default
end

#form_typeObject



125
126
127
# File 'lib/bhf/data.rb', line 125

def form_type
  type
end

#macroObject



109
110
111
# File 'lib/bhf/data.rb', line 109

def macro
  @reflection.macro
end

#nameObject



138
139
140
# File 'lib/bhf/data.rb', line 138

def name
  @reflection.name.to_s
end

#show_typeObject



134
135
136
# File 'lib/bhf/data.rb', line 134

def show_type
  return @overwrite_show_type if @overwrite_show_type
end

#typeObject



113
114
115
116
117
118
119
120
121
122
123
# File 'lib/bhf/data.rb', line 113

def type
  return @overwrite_type if @overwrite_type

  if macro == :has_and_belongs_to_many
    :check_box
  elsif macro == :belongs_to
    :select
  else
    :static
  end
end