Class: PaperTrail::ModelConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/mongo_trails/model_config.rb

Instance Method Summary collapse

Instance Method Details

#define_has_many_versions(options) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/mongo_trails/model_config.rb', line 5

def define_has_many_versions(options)
  options = ensure_versions_option_is_hash(options)
  check_version_class_name(options)
  check_versions_association_name(options)

  @model_class.class_eval <<-RUBY, __FILE__, __LINE__ + 1
    def #{@model_class.versions_association_name}
      #{@model_class.version_class_name.constantize}
        .where(item_type: #{@model_class}).and(item_id: self.id).order(created_at: :asc)
    end
  RUBY
end