Class: MilkTea::RawBindings::Registry
- Inherits:
-
Object
- Object
- MilkTea::RawBindings::Registry
- Includes:
- Enumerable
- Defined in:
- lib/milk_tea/bindings/raw_bindings.rb
Instance Method Summary collapse
- #check_task_names ⇒ Object
- #each(&block) ⇒ Object
- #fetch(name) ⇒ Object
- #find_by_module_name(module_name) ⇒ Object
-
#initialize(bindings = []) ⇒ Registry
constructor
A new instance of Registry.
- #register(binding) ⇒ Object
- #task_names ⇒ Object
Constructor Details
#initialize(bindings = []) ⇒ Registry
Returns a new instance of Registry.
224 225 226 227 228 |
# File 'lib/milk_tea/bindings/raw_bindings.rb', line 224 def initialize(bindings = []) @bindings = {} @bindings_by_module_name = {} bindings.each { |binding| register(binding) } end |
Instance Method Details
#check_task_names ⇒ Object
256 257 258 |
# File 'lib/milk_tea/bindings/raw_bindings.rb', line 256 def check_task_names map(&:check_task_name) end |
#each(&block) ⇒ Object
244 245 246 |
# File 'lib/milk_tea/bindings/raw_bindings.rb', line 244 def each(&block) @bindings.each_value(&block) end |
#fetch(name) ⇒ Object
238 239 240 241 242 |
# File 'lib/milk_tea/bindings/raw_bindings.rb', line 238 def fetch(name) @bindings.fetch(name.to_s) rescue KeyError raise Error, "unknown raw binding #{name}" end |
#find_by_module_name(module_name) ⇒ Object
248 249 250 |
# File 'lib/milk_tea/bindings/raw_bindings.rb', line 248 def find_by_module_name(module_name) @bindings_by_module_name[module_name] end |
#register(binding) ⇒ Object
230 231 232 233 234 235 236 |
# File 'lib/milk_tea/bindings/raw_bindings.rb', line 230 def register(binding) raise Error, "duplicate raw binding #{binding.name}" if @bindings.key?(binding.name) raise Error, "duplicate raw binding module #{binding.module_name}" if @bindings_by_module_name.key?(binding.module_name) @bindings[binding.name] = binding @bindings_by_module_name[binding.module_name] = binding end |
#task_names ⇒ Object
252 253 254 |
# File 'lib/milk_tea/bindings/raw_bindings.rb', line 252 def task_names map(&:task_name) end |