Sha256: 34ec5f8768446770b65597715333133db5166ca5bbf63c018dcb495fa22dffc5

Contents?: true

Size: 1.42 KB

Versions: 2

Compression:

Stored size: 1.42 KB

Contents

#!/usr/bin/env ruby
require 'rubygems'
require 'args_parser'
$:.unshift File.expand_path '../lib', File.dirname(__FILE__)
require 'babascript'
load "#{ENV['HOME']}/.ibbrc" if File.exists? "#{ENV['HOME']}/.ibbrc"

args = ArgsParser.parse ARGV do
  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 "Interactive BabaScript  v#{BabaScript::VERSION}"
  STDERR.puts args.help
  exit 1
end

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

STDERR.puts "(connecting to #{args[:base]}/#{args[:space]})"

EM::run do
  baba = BabaScript::Baba.new :base => args[:base], :space => args[:space]

  baba.linda.io.on :connect do
    STDERR.puts "(#{type} connect!)"
  end

  baba.linda.io.on :disconnect do
    STDERR.puts
    STDERR.puts "(#{type} closed)"
  end

  baba.run do
    print "[IBB] > "
    while line = STDIN.gets do
      line.strip!
      unless line.empty?
        STDERR.puts "(waiting response)"
        p instance_eval line
      end
      print "[IBB] > "
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

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