class Thinreports::Layout::Version

Constants

COMPATIBLE_RULES
NEW_SCHEMA_FROM

Attributes

schema_version[R]

Public Class Methods

compatible_rules() click to toggle source
# File lib/thinreports/layout/version.rb, line 10
def compatible_rules
  COMPATIBLE_RULES
end
new(schema_version) click to toggle source
# File lib/thinreports/layout/version.rb, line 15
def initialize(schema_version)
  @schema_version = normalize_version(schema_version)
end

Public Instance Methods

compatible?() click to toggle source
# File lib/thinreports/layout/version.rb, line 19
def compatible?
  self.class.compatible_rules.all? do |rule|
    op, ver = rule.split(' ')
    schema_version.send(op.to_sym, normalize_version(ver))
  end
end
legacy?() click to toggle source
# File lib/thinreports/layout/version.rb, line 26
def legacy?
  @schema_version < normalize_version(NEW_SCHEMA_FROM)
end

Private Instance Methods

normalize_version(version) click to toggle source
# File lib/thinreports/layout/version.rb, line 34
def normalize_version(version)
  Gem::Version.create(version)
end