Class: BrainDamage::BelongsTo

Inherits:
Relation
  • Object
show all
Defined in:
lib/generators/brain_damage/lib/relation/belongs_to.rb

Constant Summary

Constants inherited from Relation

Relation::VALID_RELATION_TYPES

Instance Method Summary collapse

Methods inherited from Relation

#add_options_to_line, #class_name, create, is_valid_relation?, #model_lines, #nested_on, #resource_name_according_to_foreign

Constructor Details

#initialize(options = {}) ⇒ BelongsTo

Returns a new instance of BelongsTo.



5
6
7
# File 'lib/generators/brain_damage/lib/relation/belongs_to.rb', line 5

def initialize(options = {})
  @options = options
end

Instance Method Details

#white_listObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/generators/brain_damage/lib/relation/belongs_to.rb', line 9

def white_list
  if @options[:white_list]
    if @options[:white_list] == ''
      return nil
    elsif @options[:white_list].is_a? Array
      return @options[:white_list].map { |field| ":#{field}" }.join ', '
    else
      return @options[:white_list].inspect
    end
  else
    field_name = @options[:field].name.to_s

    unless @options[:polymorphic]
      return ":#{field_name}_id"
    else
      return ":#{field_name}_id, :#{field_name}_type"
    end
  end
end