class Riffer::Rig::Extension
Attributes
name
[R]
String
@dynamic name, requires, mismatch
requires
[R]
Gem::Requirement?
Public Class Methods
(String name, ?requires: String?) { (::Riffer::Rig::Registrar) → void } → void
Source
# File lib/riffer/rig/extension.rb, line 20 def initialize(name, requires: nil, &block) @name = name @requires = requires && Gem::Requirement.new(requires) @mismatch = check(@requires) @block = block freeze end
@rbs name: String @rbs requires: String? @rbs &block: (::Riffer::Rig::Registrar) -> void @rbs return: void
Public Instance Methods
(Riffer::Rig::Registrar registrar) → void
Source
# File lib/riffer/rig/extension.rb, line 30 def run(registrar) @block.call(registrar) end
@rbs registrar: Riffer::Rig::Registrar @rbs return: void
(Hash[Symbol, untyped] settings) → (Riffer::Rig::Registrar | StandardError)
Source
# File lib/riffer/rig/extension.rb, line 36 def trial(settings) registrar = Riffer::Rig::Registrar.new(@name, settings[@name.to_sym] || {}) rejection = mismatch || registrar.collision return rejection if rejection run(registrar) registrar rescue StandardError => e e end
@rbs settings: Hash[Symbol, untyped] @rbs return: (Riffer::Rig::Registrar | StandardError)