class Loom::Pattern::ReferenceSet

A collection of Pattern::Reference objects

Public Class Methods

builder(file_src, file_path) click to toggle source
# File lib/loom/pattern/reference_set.rb, line 25
def builder(file_src, file_path)
  Builder.create(file_src, file_path)
end
load_from_file(path) click to toggle source
# File lib/loom/pattern/reference_set.rb, line 20
def load_from_file(path)
  Loom.log.debug1(self) { "loading patterns from file => #{path}" }
  builder(File.read(path), path).build
end
new() click to toggle source
# File lib/loom/pattern/reference_set.rb, line 30
def initialize
  @slug_to_ref_map = {}
end

Public Instance Methods

[](slug)
Alias for: get_pattern_ref
add_pattern_refs(refs) click to toggle source
# File lib/loom/pattern/reference_set.rb, line 53
def add_pattern_refs(refs)
  refs.each do |ref|
    Loom.log.debug2(self) { "adding ref to set => #{ref.slug}" }
    raise DuplicatePatternRef, ref.slug if @slug_to_ref_map[ref.slug]
    @slug_to_ref_map[ref.slug] = ref
  end
end
get_pattern_ref(slug) click to toggle source
# File lib/loom/pattern/reference_set.rb, line 42
def get_pattern_ref(slug)
  ref = @slug_to_ref_map[slug]
  raise NoReferenceForSlug, slug unless ref
  ref
end
Also aliased as: []
merge!(ref_set) click to toggle source
# File lib/loom/pattern/reference_set.rb, line 49
def merge!(ref_set)
  add_pattern_refs(ref_set.pattern_refs)
end
pattern_refs() click to toggle source
# File lib/loom/pattern/reference_set.rb, line 38
def pattern_refs
  @slug_to_ref_map.values
end
slugs() click to toggle source
# File lib/loom/pattern/reference_set.rb, line 34
def slugs
  @slug_to_ref_map.keys
end