module ActiveRecord::Mlang::ClassMethods

Public Instance Methods

has_many_fkey() click to toggle source
# File lib/active_record/mlang.rb, line 41
def has_many_fkey
  if self.text
    self.text.parent_fkey
  else
    :parent_id
  end
end
has_text?() click to toggle source
# File lib/active_record/mlang.rb, line 29
def has_text?
  !!self.text
end
set_text_reflection() click to toggle source
# File lib/active_record/mlang.rb, line 49
def set_text_reflection
  has_many :texts, class_name: self.text_class_name, foreign_key: self.has_many_fkey
end
text() click to toggle source
# File lib/active_record/mlang.rb, line 25
def text
  self.text_class_name.safe_constantize
end
text_attrs(*args) click to toggle source
# File lib/active_record/mlang.rb, line 33
def text_attrs(*args)
  args.each do |arg|
    define_method(arg.to_sym){
      self.text.__send__(arg)
    }
  end
end
text_class_name(text_class_name=nil) click to toggle source
# File lib/active_record/mlang.rb, line 13
def text_class_name(text_class_name=nil)
  if text_class_name
    self.text_class_name = text_class_name
  end
  @text_class_name || (self.name + "Text")
end
text_class_name=(text_class_name) click to toggle source
# File lib/active_record/mlang.rb, line 20
def text_class_name=(text_class_name)
  @text_class_name = text_class_name
  self.set_text_reflection
end