module FlexColumns::ActiveRecord::Base::ClassMethods
Public Instance Methods
# 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
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
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
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