module FlexColumns::ActiveRecord::Base::ClassMethods

Public Instance Methods

_flex_columns_safe_to_define_method?(method_name) click to toggle source
# File lib/flex_columns/active_record/base.rb, line 57
def _flex_columns_safe_to_define_method?(method_name)
  base_name = method_name.to_s
  base_name = $1 if base_name =~ /^(.*)=$/i

  reason = nil

  reason ||= :column if table_exists? && columns.detect { |c| c.name.to_s == base_name }
  reason ||= :instance_method if instance_methods(false).map(&:to_s).include?(base_name.to_s)

  (! reason)
end
flex_column(*args, &block) click to toggle source

Declares a flex column. Includes FlexColumns::HasFlexColumns, and then does what looks like an infinitely-recursing call – but, because Ruby is so badass, this actually calls the method that has just been included into the class, instead (i.e., the one from FlexColumns::HasFlexColumns).

See FlexColumns::HasFlexColumns#flex_column for more information.

# File lib/flex_columns/active_record/base.rb, line 41
def flex_column(*args, &block)
  include FlexColumns::HasFlexColumns
  flex_column(*args, &block)
end
has_any_flex_columns?() click to toggle source

Does this class have any flex columns? FlexColumns::HasFlexColumns overrides this to return true.

# File lib/flex_columns/active_record/base.rb, line 32
def has_any_flex_columns?
  false
end
include_flex_columns_from(*args, &block) click to toggle source

Includes flex columns from another class. Includes FlexColumns::Including::IncludeFlexColumns, and then does what looks like an infinitely-recursing call – but, because Ruby is so badass, this actually calls the method that has just been included into the class, instead (i.e., the one from FlexColumns::Including::IncludeFlexColumns).

See FlexColumns::Including::IncludeFlexColumns#include_flex_columns_from for more information.

# File lib/flex_columns/active_record/base.rb, line 52
def include_flex_columns_from(*args, &block)
  include FlexColumns::Including::IncludeFlexColumns
  include_flex_columns_from(*args, &block)
end