Module: Vertebrae::Base

Defined in:
lib/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



27
28
29
30
# File 'lib/base.rb', line 27

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

Class Method Details

.loggerObject



12
13
14
# File 'lib/base.rb', line 12

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

.logger=(logger) ⇒ Object



16
17
18
# File 'lib/base.rb', line 16

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

Instance Method Details

#loggerObject



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

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

#logger=(logger) ⇒ Object



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

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

#new(options = {}, &block) ⇒ Object

implement this in your api



23
24
25
# File 'lib/base.rb', line 23

def new(options = {}, &block)
  raise "implement me!"
end

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

Returns:

  • (Boolean)


32
33
34
35
36
37
# File 'lib/base.rb', line 32

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