Sha256: 4d072c2cf9d985f270d7e8d63d12853a2e209fc1ffd01a27b127d09dcd1e68ec

Contents?: true

Size: 1.51 KB

Versions: 5

Compression:

Stored size: 1.51 KB

Contents

#!/usr/bin/env ruby
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)

module CLI
  def version
    require 'recurly/version'
    "Recurly v#{Recurly::Version::VERSION}"
  end

  def clear
    print `clear`
  end
end
include CLI

require 'optparse'
options = {}
OptionParser.new do |opts|
  opts.banner = 'Usage: recurly [options] -- [irb options]'

  opts.on '-k', '--api-key [api key]', 'Your API key' do |api_key|
    options[:api_key] = api_key
  end

  opts.on '-v', '--verbose', 'Show full request/response log' do |verbose|
    options[:verbose] = verbose
  end

  opts.on(
    '-e', '--exec [code]', 'Execute a line of code before the session'
  ) do |line|
    options[:exec] = line
  end

  opts.separator nil

  opts.on '-h', '--help', 'Display this screen' do
    puts opts
    exit
  end

  opts.on '--version', 'The current version' do
    puts version
    exit
  end
end.parse!

require 'recurly/all'
Recurly.api_key = options[:api_key] || ENV['RECURLY_API_KEY']
include Recurly

require 'logger'
Recurly.logger = Logger.new STDOUT
Recurly.logger.level = options[:verbose] ? Logger::DEBUG : Logger::INFO

require 'irb'
require 'irb/completion'

class << IRB
  alias old_setup setup
  def setup ap_path
    old_setup ap_path
    conf[:PROMPT][:RECURLY] = {
      :PROMPT_N => 'recurly> ',
      :PROMPT_I => 'recurly> ',
      :PROMPT_S => nil,
      :PROMPT_C => ' ?> ',
      :RETURN => " => %s\n"
    }
    conf[:PROMPT_MODE] = :RECURLY
  end
end

puts version
eval options[:exec] if options[:exec]
IRB.start $0
exit!

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
recurly-2.0.14 bin/recurly
recurly-2.0.13 bin/recurly
recurly-2.0.12 bin/recurly
recurly-2.0.11 bin/recurly
recurly-2.0.10 bin/recurly