class Riddler::Step

Attributes

context[R]
definition[R]
preview_enabled[R]

Public Class Methods

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

  klass = subclasses.detect { |k| k.type == step_type }

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

Public Instance Methods

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