Class: Thinreports::BasicReport::Layout::Version

Inherits:
Object
  • Object
show all
Defined in:
lib/thinreports/basic_report/layout/version.rb

Constant Summary collapse

COMPATIBLE_RULES =
['>= 0.8.0', '< 1.0.0'].freeze
NEW_SCHEMA_FROM =
'0.9.0'

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(schema_version) ⇒ Version

Returns a new instance of Version.



16
17
18
# File 'lib/thinreports/basic_report/layout/version.rb', line 16

def initialize(schema_version)
  @schema_version = normalize_version(schema_version)
end

Class Method Details

.compatible_rulesObject



11
12
13
# File 'lib/thinreports/basic_report/layout/version.rb', line 11

def compatible_rules
  COMPATIBLE_RULES
end

Instance Method Details

#compatible?Boolean

Returns:

  • (Boolean)


20
21
22
23
24
25
# File 'lib/thinreports/basic_report/layout/version.rb', line 20

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?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/thinreports/basic_report/layout/version.rb', line 27

def legacy?
  @schema_version < normalize_version(NEW_SCHEMA_FROM)
end