class RailsBestPractices::Prepares::ModelPrepare

Remember models and model associations.

Constants

ASSOCIATION_METHODS

Public Class Methods

new() click to toggle source
# File lib/rails_best_practices/prepares/model_prepare.rb, line 26
def initialize
  @models = Prepares.models
  @model_associations = Prepares.model_associations
  @model_attributes = Prepares.model_attributes
  @methods = Prepares.model_methods
end

Private Instance Methods

remember_association(node) click to toggle source

remember associations, with class to association names.

# File lib/rails_best_practices/prepares/model_prepare.rb, line 166
def remember_association(node)
  association_meta = node.message.to_s
  association_name = node.arguments.all.first.to_s
  arguments_node = node.arguments.all.last
  if arguments_node.hash_value('class_name').present?
    association_class = arguments_node.hash_value('class_name').to_s
  end
  association_class ||= association_name.classify
  @model_associations.add_association(current_class_name, association_name, association_meta, association_class)
end