class RgGen::Core::Utility::CodeUtility::StructureDefinition

Public Class Methods

new() { |self| ... } click to toggle source
# File lib/rggen/core/utility/code_utility/structure_definition.rb, line 10
def initialize
  block_given? && yield(self)
end

Public Instance Methods

body(&block) click to toggle source
# File lib/rggen/core/utility/code_utility/structure_definition.rb, line 14
def body(&block)
  return unless block_given?
  (@bodies ||= []) << [block, 2]
end
to_code() click to toggle source
# File lib/rggen/core/utility/code_utility/structure_definition.rb, line 19
def to_code
  CodeBlock.new do |code|
    code_blocks.each do |block, indent_size|
      indent(code, indent_size) { code.eval_block(&block) }
    end
  end
end

Private Instance Methods

code_blocks() click to toggle source
# File lib/rggen/core/utility/code_utility/structure_definition.rb, line 41
def code_blocks
  blocks = []
  blocks << [method(:header_code), 0]
  blocks << [method(:pre_body_code), 2]
  blocks.concat(Array(@bodies))
  blocks << [method(:post_body_code), 2]
  blocks << [method(:footer_code), 0]
  blocks
end
header_code() click to toggle source
# File lib/rggen/core/utility/code_utility/structure_definition.rb, line 29
def header_code
end
post_body_code() click to toggle source
# File lib/rggen/core/utility/code_utility/structure_definition.rb, line 35
def post_body_code
end
pre_body_code() click to toggle source
# File lib/rggen/core/utility/code_utility/structure_definition.rb, line 32
def pre_body_code
end