Class: Knowledge::Adapters::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/knowledge/adapters/base.rb

Overview

Description

This adapter is the base adapter. It does nothing specific but is meant to manage all generic stuff.

Usage

Just inherit from it

@example:

class MySuperAdapter < Knowledge::Adapters::Base; end

Attributes

Direct Known Subclasses

Environment, KeyValue

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(variables:, setter:, params: nil) ⇒ Base

Just initializes instance variables with given params

Parameters

Parameters:

  • :variables (Hash)
  • :setter (Class)
  • :params (Hash)


44
45
46
47
# File 'lib/knowledge/adapters/base.rb', line 44

def initialize(variables:, setter:, params: nil) # rubocop:disable Lint/UnusedMethodArgument
  @variables = variables
  @setter = setter
end

Instance Attribute Details

#setterObject (readonly)

Setter object used to set variables once retrieved



24
25
26
# File 'lib/knowledge/adapters/base.rb', line 24

def setter
  @setter
end

#variablesObject (readonly)

Variables descriptor



24
25
26
# File 'lib/knowledge/adapters/base.rb', line 24

def variables
  @variables
end

Instance Method Details

#runObject

Should run the actual adapter. This method is meant to be overriden

Errors

Raises:



59
60
61
# File 'lib/knowledge/adapters/base.rb', line 59

def run
  raise ::Knowledge::AdapterRunMethodNotImplemented, "Please override the #run method for #{self.class}"
end