Module: RedSnow
- Includes:
- Binding
- Defined in:
- lib/redsnow/object.rb,
lib/redsnow.rb,
lib/redsnow/binding.rb,
lib/redsnow/version.rb,
lib/redsnow/blueprint.rb,
lib/redsnow/parseresult.rb
Overview
The classes in this module should be 1:1 with the Snow Crash AST counterparts (github.com/apiaryio/snowcrash/blob/master/src/Blueprint.h).
Defined Under Namespace
Modules: Binding Classes: Action, Blueprint, BlueprintNode, ErrorCodes, Headers, KeyValueCollection, Location, Metadata, NamedBlueprintNode, Object, Parameter, Parameters, ParseResult, Payload, Resource, ResourceGroup, TransactionExample, WarningCodes
Constant Summary collapse
- VERSION =
Gem version
"0.2.0"
Class Method Summary collapse
-
.parse(rawBlueprint, options = 0) ⇒ ParseResult
parse parsing API Blueprint into Ruby objects.
Class Method Details
.parse(rawBlueprint, options = 0) ⇒ ParseResult
parse
parsing API Blueprint into Ruby objects
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/redsnow.rb', line 15 def self.parse(rawBlueprint, = 0) blueprint = FFI::MemoryPointer.new :pointer report = FFI::MemoryPointer.new :pointer ret = RedSnow::Binding.sc_c_parse(rawBlueprint, , report, blueprint) blueprint = blueprint.get_pointer(0) report = report.get_pointer(0) parseResult = ParseResult.new(blueprint, report) return parseResult ensure RedSnow::Binding.sc_blueprint_free(blueprint) RedSnow::Binding.sc_report_free(report) end |