module Playbook::Props

Attributes

values[RW]

Public Class Methods

new(prop_values = {}, &block) click to toggle source
# File lib/playbook/props.rb, line 29
def initialize(prop_values = {}, &block)
  self.values = { children: block }.merge(Hash(prop_values))
  self.class.props.each do |key, definition|
    definition.validate! values[key]
  end
end

Public Instance Methods

clear_props() click to toggle source
# File lib/playbook/props.rb, line 45
def clear_props
  props.keys.each { |prop_name| remove_method(prop_name) }
  props.clear
end
partial(path) click to toggle source
# File lib/playbook/props.rb, line 56
def partial(path)
  define_method(:to_partial_path) { path }
end
prop(name) click to toggle source
# File lib/playbook/props.rb, line 36
def prop(name)
  self.class.props[name].value values[name]
end