module PgLtree::Base

Public Instance Methods

ltree(column = :path, cascade_update: true, cascade_destroy: true, cascade: nil) click to toggle source

Initialize ltree module for the model

@param column [String] lTree column name @param cascade_update [Boolean] Update all child nodes when the self path is changed @param cascade_destroy [Boolean] Destroy all child nodes on self-destroying

# File lib/pg_ltree/base.rb, line 16
def ltree(column = :path, cascade_update: true, cascade_destroy: true, cascade: nil)
  if cascade
    ActiveSupport::Deprecation.warn("'cascade' param is deprecated. Use 'cascade_update' and 'cascade_destroy' instead.")
  end

  @ltree_options = {
    column: column,
    cascade_update: cascade.nil? ? cascade_update : cascade,
    cascade_destroy: cascade.nil? ? cascade_destroy : cascade
  }

  send(:include, PgLtree::Model)
  send(:include, PgLtree::Callbacks)
end
ltree_option_for(key) click to toggle source
# File lib/pg_ltree/base.rb, line 35
def ltree_option_for(key)
  ltree_options[key]
end
ltree_options() click to toggle source
# File lib/pg_ltree/base.rb, line 31
def ltree_options
  @ltree_options || superclass.ltree_options
end