Sha256: dde06df5a839047a3cdae4df06d0ea57ab7bf5d0340c5e1e06cacbdd2e24c397

Contents?: true

Size: 601 Bytes

Versions: 4

Compression:

Stored size: 601 Bytes

Contents

require 'json'

module IOSParser
  class LexError < StandardError; end

  def self.lexer
    if const_defined?(:PureLexer)
      PureLexer
    else
      require_relative 'ios_parser/c_lexer'
      CLexer
    end
  rescue LoadError
    require 'ios_parser/lexer'
    PureLexer
  end

  Lexer = lexer
end

require_relative 'ios_parser/ios'

module IOSParser
  class << self
    def parse(input)
      IOSParser::IOS.new.call(input)
    end

    def hash_to_ios(hash)
      IOSParser::IOS::Document.from_hash(hash)
    end

    def json_to_ios(text)
      hash_to_ios JSON.parse(text)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ios_parser-0.5.2-java lib/ios_parser.rb
ios_parser-0.5.2 lib/ios_parser.rb
ios_parser-0.5.1 lib/ios_parser.rb
ios_parser-0.5.1-java lib/ios_parser.rb