Class: BrainDamage::HasAndBelongsToMany

Inherits:
Relation
  • Object
show all
Defined in:
lib/generators/brain_damage/lib/relation/has_and_belongs_to_many.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?, #nested_on, #resource_name_according_to_foreign

Constructor Details

#initialize(options = {}) ⇒ HasAndBelongsToMany

Returns a new instance of HasAndBelongsToMany.



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

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

Instance Method Details

#model_linesObject



9
10
11
# File 'lib/generators/brain_damage/lib/relation/has_and_belongs_to_many.rb', line 9

def model_lines
  [relationship_line]
end

#relationship_lineObject



13
14
15
16
# File 'lib/generators/brain_damage/lib/relation/has_and_belongs_to_many.rb', line 13

def relationship_line
  line = "has_and_belongs_to_many :#{@options[:field].name}".indent
  add_options_to_line line, @options.slice(:class_name, :join_table)
end

#white_listObject



18
19
20
# File 'lib/generators/brain_damage/lib/relation/has_and_belongs_to_many.rb', line 18

def white_list
  return ":#{@options[:field].name.to_s.singularize}_ids => []"
end