class SmartEnum::Associations::Association
Attributes
as_option[R]
association_name[R]
class_name_option[R]
foreign_key_option[R]
owner_class[R]
Public Class Methods
new(owner_class, association_name, class_name: nil, as: nil, foreign_key: nil)
click to toggle source
# File lib/smart_enum/associations.rb, line 101 def initialize(owner_class, association_name, class_name: nil, as: nil, foreign_key: nil) @owner_class = owner_class @association_name = association_name.to_sym @class_name_option = class_name @as_option = as @foreign_key_option = foreign_key end
Public Instance Methods
association_class()
click to toggle source
# File lib/smart_enum/associations.rb, line 121 def association_class @association_class ||= SmartEnum::Utilities.constantize(class_name).tap{|klass| ::SmartEnum::Associations.__assert_enum(klass) } end
class_name()
click to toggle source
# File lib/smart_enum/associations.rb, line 109 def class_name @class_name ||= (class_name_option || SmartEnum::Utilities.classify(association_name)).to_s end
foreign_key()
click to toggle source
# File lib/smart_enum/associations.rb, line 113 def foreign_key @foreign_key ||= (foreign_key_option || SmartEnum::Utilities.foreign_key(association_name)).to_sym end
generated_method_name()
click to toggle source
# File lib/smart_enum/associations.rb, line 117 def generated_method_name @generated_method_name ||= (as_option || association_name).to_sym end