class Thinreports::SectionReport::Builder::ItemBuilder
Constants
- Context
Attributes
item[R]
parent_schema[R]
Public Class Methods
new(item_schema, parent_schema)
click to toggle source
# File lib/thinreports/section_report/builder/item_builder.rb, line 11 def initialize(item_schema, parent_schema) @item = Core::Shape::Interface(nil, item_schema) @parent_schema = parent_schema end
Public Instance Methods
build(item_params)
click to toggle source
# File lib/thinreports/section_report/builder/item_builder.rb, line 16 def build(item_params) params = build_params(item_params) item.visible(params[:display]) if params.key?(:display) item.value(params[:value]) if params.key?(:value) item.styles(params[:styles]) if params.key?(:styles) if item.internal.format.attributes['type'] == Core::Shape::StackView::TYPE_NAME StackViewBuilder.new(item).update(params) end item end
Private Instance Methods
build_params(params)
click to toggle source
# File lib/thinreports/section_report/builder/item_builder.rb, line 34 def build_params(params) return {} unless params case params when Hash params when Proc params.call(Context.new(parent_schema)) else { value: params } end end