class Riddler::Element

Attributes

context[R]
definition[R]

Public Class Methods

for(definition, context) click to toggle source
# File lib/riddler/element.rb, line 15
def self.for definition, context
  element_type = definition["type"]

  # Maybe this should be a registry
  klass = subclasses.detect { |k| k.type == element_type }

  klass.new definition, context
end
inherited(subclass) click to toggle source
# File lib/riddler/element.rb, line 11
def self.inherited subclass
  self.subclasses << subclass
end
new(definition, context) click to toggle source
# File lib/riddler/element.rb, line 24
def initialize definition, context
  @definition = definition
  @context = context
end
subclasses() click to toggle source
# File lib/riddler/element.rb, line 7
def self.subclasses
  @@subclasses ||= []
end

Public Instance Methods

to_hash() click to toggle source
# File lib/riddler/element.rb, line 29
def to_hash
  {
    content_type: "element",
    type: self.class.type,
    id: definition["id"],
    name: definition["name"]
  }
end