Module: Marshalsea::Chains

Defined in:
lib/marshalsea/chains.rb,
lib/marshalsea/chains/base.rb,
lib/marshalsea/chains/erb_def_method.rb,
lib/marshalsea/chains/erb_def_module.rb,
lib/marshalsea/chains/psych_init_with.rb

Defined Under Namespace

Classes: Base, ChainError, ErbDefMethod, ErbDefModule, NotImplementedByChainError, ObjectLinkRefusedError, PsychInitWith, UnknownChainError

Class Method Summary collapse

Class Method Details

.allObject



20
21
22
# File 'lib/marshalsea/chains.rb', line 20

def all
  registry
end

.find(name) ⇒ Object



24
25
26
27
# File 'lib/marshalsea/chains.rb', line 24

def find(name)
  all.find { |chain| chain.chain_name == name } ||
    raise(UnknownChainError, name.to_s)
end

.for_version(gem_name, version) ⇒ Object



29
30
31
# File 'lib/marshalsea/chains.rb', line 29

def for_version(gem_name, version)
  all.select { |chain| chain.target_gem == gem_name && chain.affects?(version) }
end

.register(chain) ⇒ Object



16
17
18
# File 'lib/marshalsea/chains.rb', line 16

def register(chain)
  @registry << chain unless @registry.include?(chain)
end

.registryObject



12
13
14
# File 'lib/marshalsea/chains.rb', line 12

def registry
  @registry.dup.freeze
end