class PIM::AttributeTemplate

Attributes

base_class[R]
params[R]
states[R]

Public Class Methods

new(type_name, base_class, params = {}) click to toggle source
# File pim.rb, line 5490
def initialize type_name, base_class, params = {}, states = {}, post_build: nil
  @base_class = base_class
  @params = params.merge(:type_name => type_name)
  @states = states
  @post_build = post_build
end

Public Instance Methods

custom_param(name, value = nil) click to toggle source
# File pim.rb, line 5503
def custom_param name, value = nil
  @params[:custom] ||= {}
  name = PIM.to_sym(name)
  @params[:custom][name] = value unless value.nil?
  @params[:custom][name]
end
param(name, value = nil) click to toggle source
# File pim.rb, line 5497
def param name, value = nil
  name = PIM.to_sym(name)
  @params[name] = value unless value.nil?
  @params[name]
end
post_build(attribute) click to toggle source
# File pim.rb, line 5510
def post_build attribute
  @post_build.call(attribute) if @post_build.is_a?(Proc)
end