Class: VersionRecord::Macros::Versioned

Inherits:
Object
  • Object
show all
Defined in:
lib/version_record/macros/versioned.rb

Class Method Summary collapse

Class Method Details

.def_by_version(klass, version_column) ⇒ Object



11
12
13
14
15
# File 'lib/version_record/macros/versioned.rb', line 11

def def_by_version(klass, version_column)
  klass.define_singleton_method("by_#{version_column}") do |direction = :asc|
    Sorting::Simple.new(klass, version_column).by_version(direction)
  end
end

.def_latest_version(klass, version_column) ⇒ Object



17
18
19
20
21
# File 'lib/version_record/macros/versioned.rb', line 17

def def_latest_version(klass, version_column)
  klass.define_singleton_method("latest_#{version_column}") do
    Finder.new(klass, version_column).find_latest
  end
end

.def_versioned(klass, version_column) ⇒ Object



7
8
9
# File 'lib/version_record/macros/versioned.rb', line 7

def def_versioned(klass, version_column)
  klass.attribute version_column, :version
end