Class: BqFactory::Registory

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/bq_factory/registory.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ Registory

Returns a new instance of Registory.



7
8
9
# File 'lib/bq_factory/registory.rb', line 7

def initialize(name)
  @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



5
6
7
# File 'lib/bq_factory/registory.rb', line 5

def name
  @name
end

Instance Method Details

#clearObject



20
21
22
# File 'lib/bq_factory/registory.rb', line 20

def clear
  items.clear
end

#each(&block) ⇒ Object



24
25
26
# File 'lib/bq_factory/registory.rb', line 24

def each(&block)
  items.values.uniq.each(&block)
end

#find(name) ⇒ Object Also known as: []



11
12
13
14
15
16
17
# File 'lib/bq_factory/registory.rb', line 11

def find(name)
  if registered?(name)
    @items[name]
  else
    raise ArgumentError.new, "#{@name} not registered: #{name}"
  end
end

#itemsObject



36
37
38
# File 'lib/bq_factory/registory.rb', line 36

def items
  @items ||= {}
end

#register(name, item) ⇒ Object



32
33
34
# File 'lib/bq_factory/registory.rb', line 32

def register(name, item)
  items[name] = item
end

#registered?(name) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
# File 'lib/bq_factory/registory.rb', line 28

def registered?(name)
  items.key?(name)
end