Module: Dagnabit::Link::Configuration

Defined in:
lib/dagnabit/link/configuration.rb

Overview

Dagnabit::Edge::Configuration - dag edge configuration

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#ancestor_id_columnObject

Returns the value of attribute ancestor_id_column.



7
8
9
# File 'lib/dagnabit/link/configuration.rb', line 7

def ancestor_id_column
  @ancestor_id_column
end

#descendant_id_columnObject

Returns the value of attribute descendant_id_column.



8
9
10
# File 'lib/dagnabit/link/configuration.rb', line 8

def descendant_id_column
  @descendant_id_column
end

#transitive_closure_class_nameObject

Returns the value of attribute transitive_closure_class_name.



10
11
12
# File 'lib/dagnabit/link/configuration.rb', line 10

def transitive_closure_class_name
  @transitive_closure_class_name
end

#transitive_closure_table_nameObject



23
24
25
# File 'lib/dagnabit/link/configuration.rb', line 23

def transitive_closure_table_name
  connection.quote_table_name(unquoted_transitive_closure_table_name)
end

Instance Method Details

#ancestor_type_columnObject



31
32
33
# File 'lib/dagnabit/link/configuration.rb', line 31

def ancestor_type_column
  'ancestor_type'
end

Configure an ActiveRecord model as a dag link. See Dagnabit::Activation for options description.



16
17
18
19
20
21
# File 'lib/dagnabit/link/configuration.rb', line 16

def configure_acts_as_dag_link(options)
  self.ancestor_id_column = options[:ancestor_id_column] || 'ancestor_id'
  self.descendant_id_column = options[:descendant_id_column] || 'descendant_id'
  self.transitive_closure_table_name = options[:transitive_closure_table_name] || table_name + '_transitive_closure_tuples'
  self.transitive_closure_class_name = options[:transitive_closure_class_name] || 'TransitiveClosureLink'
end

#descendant_type_columnObject



35
36
37
# File 'lib/dagnabit/link/configuration.rb', line 35

def descendant_type_column
  'descendant_type'
end

#unquoted_transitive_closure_table_nameObject



27
28
29
# File 'lib/dagnabit/link/configuration.rb', line 27

def unquoted_transitive_closure_table_name
  @transitive_closure_table_name
end