Class: YleTf::Action::VerifyYleTfVersion

Inherits:
Object
  • Object
show all
Defined in:
lib/yle_tf/action/verify_yle_tf_version.rb

Instance Method Summary collapse

Constructor Details

#initialize(app) ⇒ VerifyYleTfVersion

Returns a new instance of VerifyYleTfVersion.



11
12
13
# File 'lib/yle_tf/action/verify_yle_tf_version.rb', line 11

def initialize(app)
  @app = app
end

Instance Method Details

#call(env) ⇒ Object



15
16
17
18
19
20
21
22
# File 'lib/yle_tf/action/verify_yle_tf_version.rb', line 15

def call(env)
  Logger.debug('Verifying YleTf version')

  requirement = requirement(env[:config])
  verify_version(requirement)

  @app.call(env)
end

#requirement(config) ⇒ Object



24
25
26
27
# File 'lib/yle_tf/action/verify_yle_tf_version.rb', line 24

def requirement(config)
  requirement = config.fetch('yle_tf', 'version_requirement') { nil }
  VersionRequirement.new(requirement)
end

#verify_version(requirement) ⇒ Object

Raises:



29
30
31
32
33
# File 'lib/yle_tf/action/verify_yle_tf_version.rb', line 29

def verify_version(requirement)
  return if requirement.satisfied_by?(YleTf::VERSION)

  raise Error, "YleTf version '#{YleTf::VERSION}', '#{requirement}' required by config"
end