class Moonshot::BuildMechanism::VersionProxy
This proxies build request do different mechanisms. One for semver compliant releases and another for everything else.
Public Class Methods
new(release:, dev:)
click to toggle source
# File lib/moonshot/build_mechanism/version_proxy.rb, line 12 def initialize(release:, dev:) @release = release @dev = dev end
Public Instance Methods
build_hook(version)
click to toggle source
# File lib/moonshot/build_mechanism/version_proxy.rb, line 32 def build_hook(version) active(version).build_hook(version) end
doctor_hook()
click to toggle source
# File lib/moonshot/build_mechanism/version_proxy.rb, line 17 def doctor_hook @release.doctor_hook @dev.doctor_hook end
post_build_hook(version)
click to toggle source
# File lib/moonshot/build_mechanism/version_proxy.rb, line 36 def post_build_hook(version) active(version).post_build_hook(version) end
pre_build_hook(version)
click to toggle source
# File lib/moonshot/build_mechanism/version_proxy.rb, line 28 def pre_build_hook(version) active(version).pre_build_hook(version) end
resources=(r)
click to toggle source
Calls superclass method
# File lib/moonshot/build_mechanism/version_proxy.rb, line 22 def resources=(r) super @release.resources = r @dev.resources = r end
Private Instance Methods
active(version)
click to toggle source
# File lib/moonshot/build_mechanism/version_proxy.rb, line 42 def active(version) @active = if release?(version) @release else @dev end end
release?(version)
click to toggle source
# File lib/moonshot/build_mechanism/version_proxy.rb, line 50 def release?(version) ::Semantic::Version.new(version) rescue ArgumentError false end