Module: Dagnabit::Link::Configuration
- Defined in:
- lib/dagnabit/link/configuration.rb
Overview
Dagnabit::Edge::Configuration - dag edge configuration
Instance Attribute Summary collapse
-
#ancestor_id_column ⇒ Object
Returns the value of attribute ancestor_id_column.
-
#descendant_id_column ⇒ Object
Returns the value of attribute descendant_id_column.
-
#transitive_closure_class_name ⇒ Object
Returns the value of attribute transitive_closure_class_name.
- #transitive_closure_table_name ⇒ Object
Instance Method Summary collapse
- #ancestor_type_column ⇒ Object
-
#configure_acts_as_dag_link(options) ⇒ Object
Configure an ActiveRecord model as a dag link.
- #descendant_type_column ⇒ Object
- #unquoted_transitive_closure_table_name ⇒ Object
Instance Attribute Details
#ancestor_id_column ⇒ Object
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_column ⇒ Object
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_name ⇒ Object
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_name ⇒ Object
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_column ⇒ Object
31 32 33 |
# File 'lib/dagnabit/link/configuration.rb', line 31 def ancestor_type_column 'ancestor_type' end |
#configure_acts_as_dag_link(options) ⇒ Object
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() self.ancestor_id_column = [:ancestor_id_column] || 'ancestor_id' self.descendant_id_column = [:descendant_id_column] || 'descendant_id' self.transitive_closure_table_name = [:transitive_closure_table_name] || table_name + '_transitive_closure_tuples' self.transitive_closure_class_name = [:transitive_closure_class_name] || 'TransitiveClosureLink' end |
#descendant_type_column ⇒ Object
35 36 37 |
# File 'lib/dagnabit/link/configuration.rb', line 35 def descendant_type_column 'descendant_type' end |
#unquoted_transitive_closure_table_name ⇒ Object
27 28 29 |
# File 'lib/dagnabit/link/configuration.rb', line 27 def unquoted_transitive_closure_table_name @transitive_closure_table_name end |