Sha256: 4235f26f2c396673d640852c9a92ecc9a3e8bb9a00b3c872ede70bcd58bd90bf

Contents?: true

Size: 1.4 KB

Versions: 2

Compression:

Stored size: 1.4 KB

Contents

#!/usr/bin/env ruby
# -*- coding: utf-8 -*-
require 'rubygems'
require 'args_parser'
$:.unshift File.expand_path '../lib', File.dirname(__FILE__)
require 'babascript'

args = ArgsParser.parse ARGV do
  arg :eval, "evaluate one line script", :alias => :e
  arg :base, "Linda-Base URL", :default => BabaScript::DEFAULTS[:base]
  arg :space, "Linda-Space Name", :default => BabaScript::DEFAULTS[:space]
  arg :version, "show version", :alias => :v
  arg :help, "show help", :alias => :h

  validate :base, "invalid URL" do |v|
    v =~ /^https?:\/\/.+$/
  end
end

binname = File.basename(__FILE__)
if args.has_option? :help
  STDERR.puts "BabaScript v#{BabaScript::VERSION}"
  STDERR.puts args.help
  STDERR.puts "e.g:"
  STDERR.puts " % #{binname} filename.bb"
  STDERR.puts " % #{binname} -e 'アイス買ってきてよ'"
  STDERR.puts " % #{binname} filename.bb -base http://linda-base.example.com -space test"
  exit 1
end

if args.has_option? :version
  STDERR.puts "BabaScript v#{BabaScript::VERSION} - ruby #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
  exit 1
end

if args.has_param? :eval
  puts args[:eval]
  BabaScript.baba :base => args[:base], :space => args[:space] do
    puts instance_eval args[:eval]
  end
else
  args.argv.each do |fname|
    File.open(fname) do |f|
      baba = BabaScript::Baba.new(:base => args[:base], :space => args[:space])
      baba.run f.read
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
babascript-0.3.1 bin/baba
babascript-0.3.0 bin/baba