Sha256: eb1fb9442fef7854bcebbe996b0f4628c3050cba05bf72a740b5261c7359a16e

Contents?: true

Size: 685 Bytes

Versions: 2

Compression:

Stored size: 685 Bytes

Contents

require "sibilant/version"
require 'json'

module Sibilant
  class Compiler
    def sibilant_js_root
      File.join File.dirname(__FILE__), '..', 'js', 'sibilant'
    end

    def package_json_file
      File.open File.join(sibilant_js_root, 'package.json')
    end

    def package_json
      JSON.parse package_json_file.read
    end

    def version
      package_json[:version]
    end

    def sibilant_cli
      File.join sibilant_js_root, 'bin', 'sibilant'
    end

    def translate(sibilant_code)
      IO.popen("#{sibilant_cli} -i", 'r+') do |sibilant|
        sibilant.puts sibilant_code
        sibilant.close_write
        sibilant.read
      end.strip
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
sibilant-0.0.2 lib/sibilant.rb
sibilant-0.0.1 lib/sibilant.rb