Module: Clusta::Schema

Included in:
Geometry::Element
Defined in:
lib/clusta/schema.rb

Defined Under Namespace

Modules: ClassMethods

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#extra_inputsObject



4
5
6
# File 'lib/clusta/schema.rb', line 4

def extra_inputs
  @extra_inputs ||= []
end

Class Method Details

.included(klass) ⇒ Object



25
26
27
28
29
# File 'lib/clusta/schema.rb', line 25

def self.included klass
  klass.extend(ClassMethods)
  class << klass ; attr_reader :fields ; end
  klass.instance_variable_set('@fields', [])
end

Instance Method Details

#extra_outputsObject



9
10
11
# File 'lib/clusta/schema.rb', line 9

def extra_outputs
  extra_inputs.map(&:to_s)
end

#fieldsObject



13
14
15
# File 'lib/clusta/schema.rb', line 13

def fields
  self.class.fields
end

#keysObject



17
18
19
# File 'lib/clusta/schema.rb', line 17

def keys
  self.class.keys
end

#non_key_fieldsObject



21
22
23
# File 'lib/clusta/schema.rb', line 21

def non_key_fields
  self.class.non_key_fields
end