Sha256: 118cd7d770fe2576cea4061adccb1830597740284edd42d7784a8f3cc64e8f99

Contents?: true

Size: 821 Bytes

Versions: 8

Compression:

Stored size: 821 Bytes

Contents

require "redsnow/version"
require "redsnow/binding"
require "redsnow/blueprint"
require "redsnow/parseresult"
require "ffi"

module RedSnow
  include Binding
  # parse
  #   parsing API Blueprint into Ruby objects
  # @param rawBlueprint [String] API Blueprint
  # @param options [Number] Parsing Options
  #
  # @return [ParseResult]
  def self.parse(rawBlueprint, options = 0)
    blueprint = FFI::MemoryPointer.new :pointer
    result = FFI::MemoryPointer.new :pointer
    ret = RedSnow::Binding.sc_c_parse(rawBlueprint, options, result, blueprint)

    blueprint = blueprint.get_pointer(0)
    result = result.get_pointer(0)

    parseResult = ParseResult.new(blueprint, result)

    return parseResult
  ensure
    RedSnow::Binding.sc_blueprint_free(blueprint)
    RedSnow::Binding.sc_result_free(result)
  end

end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
redsnow-0.1.6 lib/redsnow.rb
redsnow-0.1.5 lib/redsnow.rb
redsnow-0.1.4 lib/redsnow.rb
redsnow-0.1.3 lib/redsnow.rb
redsnow-0.1.2 lib/redsnow.rb
redsnow-0.1.1 lib/redsnow.rb
redsnow-0.1.0 lib/redsnow.rb
redsnow-0.0.8 lib/redsnow.rb