class ActiveRecordAnalyzer::Reflector::Simple
Public Class Methods
new(klass)
click to toggle source
# File lib/active_record_analyzer/reflector/simple.rb, line 2 def initialize(klass) @klass = klass end
Public Instance Methods
attribute_type()
click to toggle source
# File lib/active_record_analyzer/reflector/simple.rb, line 10 def attribute_type @attribute_type ||= ActiveRecordAnalyzer::Attribute::Simple end
attributes()
click to toggle source
This returns attributes which are not foreign keys (ex: :name, but not :company_id)
# File lib/active_record_analyzer/reflector/simple.rb, line 16 def attributes attributes_except_foreign_keys end
has_attribute?(attribute)
click to toggle source
# File lib/active_record_analyzer/reflector/simple.rb, line 6 def has_attribute?(attribute) attributes.include?(attribute.to_sym) end
Private Instance Methods
all_attribute_names()
click to toggle source
# File lib/active_record_analyzer/reflector/simple.rb, line 28 def all_attribute_names @all_attribute_names ||= @klass.attribute_names.map(&:to_sym) end
attributes_except_foreign_keys()
click to toggle source
# File lib/active_record_analyzer/reflector/simple.rb, line 22 def attributes_except_foreign_keys @attributes ||= begin all_attribute_names.select { |attr| !foreign_keys.include?(attr) } end end
foreign_keys()
click to toggle source
# File lib/active_record_analyzer/reflector/simple.rb, line 32 def foreign_keys @foreign_keys ||= ActiveRecordAnalyzer::Reflector::BelongsTo.new(@klass).attributes end