Sha256: 809f542286538a1f3a78cfd5f53a0a827215cc11b5b0d5e7f34b730a8f293f0c

Contents?: true

Size: 1.88 KB

Versions: 93

Compression:

Stored size: 1.88 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 '-s', '--subdomain [subdomain]', 'Your subdomain' do |subdomain|
    options[:subdomain] = subdomain
  end

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

  opts.on '-K', '--private-key [private key]', 'Your Recurly.js private key' do |key|
    options[:private_key] = 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.subdomain = options[:subdomain] || ENV['RECURLY_SUBDOMAIN']
Recurly.api_key = options[:api_key] || ENV['RECURLY_API_KEY']
Recurly.js.private_key = options[:private_key] || ENV['RECURLY_JS_PRIVATE_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

93 entries across 93 versions & 1 rubygems

Version Path
recurly-2.16.0 bin/recurly
recurly-2.15.4 bin/recurly
recurly-2.15.3 bin/recurly
recurly-2.14.1 bin/recurly
recurly-2.13.1 bin/recurly
recurly-2.12.2 bin/recurly
recurly-2.11.4 bin/recurly
recurly-2.10.5 bin/recurly
recurly-2.9.3 bin/recurly
recurly-2.8.3 bin/recurly
recurly-2.7.9 bin/recurly
recurly-2.6.4 bin/recurly
recurly-2.5.5 bin/recurly
recurly-2.4.12 bin/recurly
recurly-2.3.11 bin/recurly
recurly-2.2.6 bin/recurly
recurly-2.1.12 bin/recurly
recurly-2.15.2 bin/recurly
recurly-2.15.1 bin/recurly
recurly-2.15.0 bin/recurly