Class: Fig::PackageDefinitionTextAssembler
- Inherits:
-
Object
- Object
- Fig::PackageDefinitionTextAssembler
- Defined in:
- lib/fig/package_definition_text_assembler.rb
Overview
Used for building packages for publishing.
Instance Attribute Summary collapse
-
#input_statements ⇒ Object
readonly
Returns the value of attribute input_statements.
-
#output_statements ⇒ Object
readonly
Returns the value of attribute output_statements.
Instance Method Summary collapse
-
#add_footer(text) ⇒ Object
Argument can be a single string or an array of strings.
-
#add_header(text) ⇒ Object
Argument can be a single string or an array of strings.
-
#add_input(statements) ⇒ Object
Argument can either be a single Statement or an array of them.
-
#add_output(statements) ⇒ Object
Argument can either be a single Statement or an array of them.
- #assemble_package_definition ⇒ Object
- #asset_input_statements ⇒ Object
-
#initialize ⇒ PackageDefinitionTextAssembler
constructor
A new instance of PackageDefinitionTextAssembler.
Constructor Details
#initialize ⇒ PackageDefinitionTextAssembler
Returns a new instance of PackageDefinitionTextAssembler.
11 12 13 14 15 16 17 18 |
# File 'lib/fig/package_definition_text_assembler.rb', line 11 def initialize() @input_statements = [] @output_statements = [] @header_text = [] @footer_text = [] return end |
Instance Attribute Details
#input_statements ⇒ Object (readonly)
Returns the value of attribute input_statements.
8 9 10 |
# File 'lib/fig/package_definition_text_assembler.rb', line 8 def input_statements @input_statements end |
#output_statements ⇒ Object (readonly)
Returns the value of attribute output_statements.
9 10 11 |
# File 'lib/fig/package_definition_text_assembler.rb', line 9 def output_statements @output_statements end |
Instance Method Details
#add_footer(text) ⇒ Object
Argument can be a single string or an array of strings
48 49 50 51 52 |
# File 'lib/fig/package_definition_text_assembler.rb', line 48 def (text) @footer_text << text return end |
#add_header(text) ⇒ Object
Argument can be a single string or an array of strings
41 42 43 44 45 |
# File 'lib/fig/package_definition_text_assembler.rb', line 41 def add_header(text) @header_text << text return end |
#add_input(statements) ⇒ Object
Argument can either be a single Statement or an array of them.
21 22 23 24 25 26 |
# File 'lib/fig/package_definition_text_assembler.rb', line 21 def add_input(statements) @input_statements << statements @input_statements.flatten! return end |
#add_output(statements) ⇒ Object
Argument can either be a single Statement or an array of them.
29 30 31 32 33 34 |
# File 'lib/fig/package_definition_text_assembler.rb', line 29 def add_output(statements) @output_statements << statements @output_statements.flatten! return end |
#assemble_package_definition ⇒ Object
54 55 56 57 58 59 60 61 62 |
# File 'lib/fig/package_definition_text_assembler.rb', line 54 def assemble_package_definition() definition = [@header_text, unparse_statements(), @footer_text].flatten.join("\n") definition.gsub!(/\n{3,}/, "\n\n") definition.strip! definition << "\n" return definition end |
#asset_input_statements ⇒ Object
36 37 38 |
# File 'lib/fig/package_definition_text_assembler.rb', line 36 def asset_input_statements() return @input_statements.select { |statement| statement.is_asset? } end |