class TXTextControl::ReportingCloud::MergeBlock

Represents a merge block in a document template. @attr_reader [String] name The merge block's' name. @attr_reader [Array<MergeBlock>] merge_blocks The merge blocks nested

inside the merge block.

@attr_reader [Array<MergeField>] merge_fields The merge fields inside

the merge block.

Attributes

merge_blocks[R]
merge_fields[R]
name[R]

Public Class Methods

from_camelized_hash(hash) click to toggle source

Creates an MergeBlock instance from a hash. @param [Hash] hash The hash to try and create an MergeBlock instance from. @return [MergeBlock] A newly created MergeBlock instance.

# File lib/txtextcontrol/reportingcloud/merge_block.rb, line 44
def self.from_camelized_hash(hash) 
  # Parameter validation
  raise ArgumentError, "Parameter must be a Hash." if !hash.kind_of? Hash

  name = hash["name"]
  blocks = Array.new
  hash["mergeBlocks"].each do |elem|
    blocks.push(MergeBlock.from_camelized_hash(elem))
  end
  fields = Array.new 
  hash["mergeFields"].each do |elem|
    fields.push(MergeField.from_camelized_hash(elem))
  end
  return MergeBlock.new(name, blocks, fields)
end
new(name, merge_blocks, merge_fields) click to toggle source
# File lib/txtextcontrol/reportingcloud/merge_block.rb, line 30
def initialize(name, merge_blocks, merge_fields)
  # Parameter validation
  raise ArgumentError, "Block name must be a string." if !name.kind_of? String
  raise ArgumentError, "Parameter merge_blocks must be an array." if !merge_blocks.kind_of? Array
  raise ArgumentError, "Parameter merge_fields must be an array." if !merge_fields.kind_of? Array

  @name = name
  @merge_blocks = merge_blocks
  @merge_fields = merge_fields
end