Class: GenesisRuby::Builder
- Inherits:
-
Object
- Object
- GenesisRuby::Builder
- Defined in:
- lib/genesis_ruby/builder.rb
Overview
Builder handler
Constant Summary collapse
- XML =
Builder XML
'xml'- JSON =
Builder JSON
'json'- FORM =
Builder FORM
'form'- GRAPHQL =
Builder GraphQL
'graphql'- PATCH =
Builder PATCH
'patch'
Instance Method Summary collapse
-
#document ⇒ Object
Get built document.
-
#initialize(request_interface) ⇒ Builder
constructor
Initialize the Builder Interface based on the Request requirements.
-
#parse_structure(structure) ⇒ Object
Parse tree-structure into Builder document.
Constructor Details
#initialize(request_interface) ⇒ Builder
Initialize the Builder Interface based on the Request requirements
30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/genesis_ruby/builder.rb', line 30 def initialize(request_interface) case request_interface when XML then @builder_context = Builders::Xml.new when FORM then @builder_context = Builders::Form.new when JSON then @builder_context = Builders::Json.new when GRAPHQL then @builder_context = Builders::Graphql.new when PATCH then @builder_context = Builders::Patch.new else raise GenesisRuby::BuilderError, 'Invalid Builder interface!' end end |
Instance Method Details
#document ⇒ Object
Get built document
43 44 45 |
# File 'lib/genesis_ruby/builder.rb', line 43 def document builder_context.output end |
#parse_structure(structure) ⇒ Object
Parse tree-structure into Builder document
48 49 50 |
# File 'lib/genesis_ruby/builder.rb', line 48 def parse_structure(structure) builder_context.populate_nodes(structure) end |