Module: Vertebrae::Base

Defined in:
lib/vertebrae/base.rb

Class Method Summary collapse

Instance Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object



29
30
31
32
# File 'lib/vertebrae/base.rb', line 29

def method_missing(method, *args, &block)
  return super unless new.respond_to?(method)
  new.send(method, *args, &block)
end

Class Method Details

.loggerObject



14
15
16
# File 'lib/vertebrae/base.rb', line 14

def logger
  @@logger ||= Logger.new(STDOUT)
end

.logger=(logger) ⇒ Object



18
19
20
# File 'lib/vertebrae/base.rb', line 18

def logger=(logger)
  @@logger = logger
end

Instance Method Details

#loggerObject



5
6
7
# File 'lib/vertebrae/base.rb', line 5

def logger
  @@logger ||= Logger.new(STDOUT)
end

#logger=(logger) ⇒ Object



9
10
11
# File 'lib/vertebrae/base.rb', line 9

def logger=(logger)
  @@logger = logger
end

#new(_options = {}, &_block) ⇒ Object

implement this in your api



25
26
27
# File 'lib/vertebrae/base.rb', line 25

def new(_options = {}, &_block)
  raise "implement me!"
end

#respond_to?(method, include_private = false) ⇒ Boolean

Returns:

  • (Boolean)


34
35
36
37
38
39
# File 'lib/vertebrae/base.rb', line 34

def respond_to?(method, include_private = false)
  # Avoid infinite loop error when attempting to stub the `new` method
  return true if method.to_s == 'new'

  new.respond_to?(method, include_private) || super(method, include_private)
end