Class: Thinreports::SectionReport::Builder::ItemBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/thinreports/section_report/builder/item_builder.rb

Defined Under Namespace

Classes: Context

Instance Method Summary collapse

Constructor Details

#initialize(item_schema, parent_schema) ⇒ ItemBuilder

Returns a new instance of ItemBuilder.



11
12
13
14
# 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

Instance Method Details

#build(item_params) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
# 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