Class: Cura::Adapter

Inherits:
Object
  • Object
show all
Includes:
Cura::Attributes::HasAttributes, Cura::Attributes::HasInitialize
Defined in:
lib/cura/adapter.rb

Overview

The base class for adapters.

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Cura::Attributes::HasAttributes

included, #update_attributes

Constructor Details

#initialize(attributes = {}) ⇒ Adapter

Returns a new instance of Adapter.



37
38
39
40
41
# File 'lib/cura/adapter.rb', line 37

def initialize(attributes={})
  @setup = false
  
  super
end

Class Method Details

.allArray

The list of all Adapter subclasses.

Returns:

  • (Array)


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

def all
  @all ||= []
end

.inherited(subclass) ⇒ Object



20
21
22
# File 'lib/cura/adapter.rb', line 20

def inherited(subclass)
  all << subclass
end

.mixin(value) ⇒ Object



28
29
30
# File 'lib/cura/adapter.rb', line 28

def mixin(value)
  mixins.merge!(value.to_h)
end

.mixinsObject



24
25
26
# File 'lib/cura/adapter.rb', line 24

def mixins
  @mixins ||= {}
end

Instance Method Details

#cleanupObject



59
60
61
62
63
# File 'lib/cura/adapter.rb', line 59

def cleanup
  @setup = false
  
  self
end

#clearObject



55
56
57
# File 'lib/cura/adapter.rb', line 55

def clear
  
end

#setupObject



43
44
45
46
47
48
49
# File 'lib/cura/adapter.rb', line 43

def setup
  @setup = true
  
  self.class.mixins.each { |type, mod| type.send(:include, mod) }
  
  self
end

#setup?Boolean

Returns:

  • (Boolean)


51
52
53
# File 'lib/cura/adapter.rb', line 51

def setup?
  @setup
end