Module: Spik::Models

Included in:
Spik
Defined in:
lib/spik/models.rb

Instance Method Summary collapse

Instance Method Details

#attributesObject



7
8
9
10
11
12
13
# File 'lib/spik/models.rb', line 7

def attributes
  @attribute_names ||= {}.tap do |hash|
    model_names.each do |model_name|
      hash[model_name] = model_name.capitalize.constantize.attribute_names
    end
  end
end

#class_methodsObject



15
16
17
18
19
20
21
22
# File 'lib/spik/models.rb', line 15

def class_methods
  @class_method_names ||= {}.tap do |hash|
    base_public_methods = ActiveRecord::Base.public_methods + [:original_table_name, :original_locking_column]
    model_names.each do |model_name|
      hash[model_name] = model_name.capitalize.constantize.public_methods - base_public_methods
    end
  end
end

#model_namesObject



3
4
5
# File 'lib/spik/models.rb', line 3

def model_names
  @model_names ||= ActiveRecord::Base.subclasses.map{ |it| it.to_s.downcase }
end