Class: Heks::Driver

Inherits:
Object
  • Object
show all
Defined in:
lib/heks/driver.rb

Instance Method Summary collapse

Constructor Details

#initialize(listener) ⇒ Driver

Returns a new instance of Driver.



3
4
5
# File 'lib/heks/driver.rb', line 3

def initialize(listener)
  @listener = listener
end

Instance Method Details

#[](name, options = {}) ⇒ Object



7
8
9
10
11
12
# File 'lib/heks/driver.rb', line 7

def [](name, options={})
  repository_name = options[:repo] || use_case_name(name)
  ::UseCase.const_get(name.to_s.camelize).new(
    @listener,
    Repository::Database.const_get(repository_name.classify))
end

#use_case_name(name) ⇒ Object



14
15
16
# File 'lib/heks/driver.rb', line 14

def use_case_name(name)
  name.to_s.split("_")[1..-1].join("_")
end