Class: Loom::Pattern::ReferenceSet
- Inherits:
-
Object
- Object
- Loom::Pattern::ReferenceSet
- Defined in:
- lib/loom/pattern/reference_set.rb
Overview
A collection of Pattern::Reference objects
Defined Under Namespace
Classes: Builder
Class Method Summary collapse
Instance Method Summary collapse
- #add_pattern_refs(refs) ⇒ Object
- #get_pattern_ref(slug) ⇒ Object (also: #[])
-
#initialize ⇒ ReferenceSet
constructor
A new instance of ReferenceSet.
- #merge!(ref_set) ⇒ Object
- #pattern_refs ⇒ Object
- #slugs ⇒ Object
Constructor Details
#initialize ⇒ ReferenceSet
Returns a new instance of ReferenceSet.
18 19 20 |
# File 'lib/loom/pattern/reference_set.rb', line 18 def initialize @slug_to_ref_map = {} end |
Class Method Details
.load_from_file(path) ⇒ Object
12 13 14 15 |
# File 'lib/loom/pattern/reference_set.rb', line 12 def load_from_file(path) Loom.log.debug1(self) { "loading patterns from file => #{path}" } Builder.create File.read(path), path end |
Instance Method Details
#add_pattern_refs(refs) ⇒ Object
41 42 43 44 45 46 47 48 |
# File 'lib/loom/pattern/reference_set.rb', line 41 def add_pattern_refs(refs) map = @slug_to_ref_map refs.each do |ref| Loom.log.debug2(self) { "adding ref to set => #{ref.slug}" } raise DuplicatePatternRef, ref.slug if map[ref.slug] map[ref.slug] = ref end end |
#get_pattern_ref(slug) ⇒ Object Also known as: []
30 31 32 33 34 |
# File 'lib/loom/pattern/reference_set.rb', line 30 def get_pattern_ref(slug) ref = @slug_to_ref_map[slug] raise UnknownPatternMethod, slug unless ref ref end |
#merge!(ref_set) ⇒ Object
37 38 39 |
# File 'lib/loom/pattern/reference_set.rb', line 37 def merge!(ref_set) self.add_pattern_refs(ref_set.pattern_refs) end |
#pattern_refs ⇒ Object
26 27 28 |
# File 'lib/loom/pattern/reference_set.rb', line 26 def pattern_refs @slug_to_ref_map.values end |
#slugs ⇒ Object
22 23 24 |
# File 'lib/loom/pattern/reference_set.rb', line 22 def slugs @slug_to_ref_map.keys end |