stripe-cli 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -3
- data/lib/stripe/cli.rb +1 -0
- data/lib/stripe/cli/command.rb +5 -2
- data/lib/stripe/cli/commands/charges.rb +4 -16
- data/lib/stripe/cli/commands/customers.rb +5 -16
- data/lib/stripe/cli/commands/recipients.rb +1 -1
- data/lib/stripe/cli/commands/tokens.rb +6 -19
- data/lib/stripe/cli/commands/transfers.rb +10 -2
- data/lib/stripe/cli/version.rb +1 -1
- data/lib/stripe/utils.rb +15 -0
- data/spec/command_spec.rb +3 -7
- data/stripe-cli.gemspec +8 -5
- metadata +22 -21
- data/example.png +0 -0
- data/output.png +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e2b48859bb69cc6e13ce435be2dbab05b4161d11
|
4
|
+
data.tar.gz: ad88ef63c91fbef74e9b6b4ff0053c6db8c07942
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 84b1ed0a0bf293d4f12bdd3f87f8b66e6eb614b0b5b3de814c1e6d66cac7d818015ade39ff9557bcd0d950ab86a60bf2bbadd6b82c6e7e463ad7d4a51d11e6bd
|
7
|
+
data.tar.gz: b2194d88909c8c22e046da67ef9b02413fee8c3bd3c40cd453d92136b5db7a8595d0af29703e249126e9dd00a4db8c8944c6fda701cee32e18764067847991a3
|
data/README.md
CHANGED
@@ -75,15 +75,15 @@ or
|
|
75
75
|
|
76
76
|
## uniform behavior
|
77
77
|
|
78
|
-
The Stripe API is very consistant. Consistency makes using the api intuitive.
|
78
|
+
The Stripe API is very consistant. Consistency makes using the api intuitive. What makes an api consistant? For one, uniform parameters across api resources. Here are a few examples of uniform behavior within this utility.
|
79
79
|
|
80
|
-
|
80
|
+
#### list operations
|
81
81
|
|
82
82
|
specify how many results, between 1 and 100, should be returned (default is 10)
|
83
83
|
|
84
84
|
... list [--count=COUNT]
|
85
85
|
|
86
|
-
specify the starting index for this result set, relative to the entire result set (
|
86
|
+
specify the starting index for this result set, relative to the entire result set (useful in combination with `--count` for paginating results)
|
87
87
|
|
88
88
|
... list [--offset=OFFSET]
|
89
89
|
|
@@ -97,6 +97,10 @@ or
|
|
97
97
|
$ stripe charges create [--amount=AMOUNT]
|
98
98
|
Name on Card: __
|
99
99
|
|
100
|
+
Api errors are rescued and their messages displayed for you to read easily. No more `barfing` to `stdout` ...hopefully
|
101
|
+
|
102
|
+

|
103
|
+
|
100
104
|
### Charges
|
101
105
|
|
102
106
|
$ stripe charges list
|
data/lib/stripe/cli.rb
CHANGED
data/lib/stripe/cli/command.rb
CHANGED
@@ -3,9 +3,12 @@ require 'parseconfig'
|
|
3
3
|
module Stripe
|
4
4
|
module CLI
|
5
5
|
class Command < Thor
|
6
|
+
@@config = File.expand_path('~/.stripecli')
|
7
|
+
|
6
8
|
class_option :key, :aliases => :k
|
7
9
|
class_option :env, :aliases => :e
|
8
10
|
class_option :version, :aliases => :v
|
11
|
+
|
9
12
|
protected
|
10
13
|
|
11
14
|
def api_key
|
@@ -23,7 +26,7 @@ module Stripe
|
|
23
26
|
def stored_api_option option
|
24
27
|
if File.exists?(config_file)
|
25
28
|
if environment
|
26
|
-
config[environment][option.to_s]
|
29
|
+
config[environment][option.to_s] || config[option.to_s]
|
27
30
|
else
|
28
31
|
config[option.to_s]
|
29
32
|
end
|
@@ -35,7 +38,7 @@ module Stripe
|
|
35
38
|
end
|
36
39
|
|
37
40
|
def config_file
|
38
|
-
|
41
|
+
@@config
|
39
42
|
end
|
40
43
|
|
41
44
|
def list klass, options
|
@@ -2,6 +2,8 @@ module Stripe
|
|
2
2
|
module CLI
|
3
3
|
module Commands
|
4
4
|
class Charges < Command
|
5
|
+
include Stripe::Utils
|
6
|
+
|
5
7
|
desc "list", "List charges"
|
6
8
|
option :count
|
7
9
|
option :customer
|
@@ -39,26 +41,12 @@ module Stripe
|
|
39
41
|
option :currency, :default => 'usd'
|
40
42
|
option :description
|
41
43
|
option :capture, :type => :boolean, :default => true
|
42
|
-
|
44
|
+
option :metadata, :type => :hash
|
43
45
|
def create
|
44
46
|
options[:amount] ||= ask('Amount in dollars:')
|
45
47
|
options[:amount] = (Float(options[:amount]) * 100).to_i
|
46
48
|
|
47
|
-
|
48
|
-
options[:card_name] ||= ask('Name on Card:')
|
49
|
-
options[:card_number] ||= ask('Card number:')
|
50
|
-
options[:card_cvc] ||= ask('CVC code:')
|
51
|
-
options[:card_exp_month] ||= ask('expiration month:')
|
52
|
-
options[:card_exp_year] ||= ask('expiration year:')
|
53
|
-
|
54
|
-
options[:card] = {
|
55
|
-
:number => options.delete(:card_number),
|
56
|
-
:exp_month => options.delete(:card_exp_month),
|
57
|
-
:exp_year => options.delete(:card_exp_year),
|
58
|
-
:cvc => options.delete(:card_cvc),
|
59
|
-
:name => options.delete(:card_name)
|
60
|
-
}
|
61
|
-
end
|
49
|
+
options[:card] ||= credit_card( options ) unless options[:customer]
|
62
50
|
|
63
51
|
super Stripe::Charge, options
|
64
52
|
end
|
@@ -2,6 +2,8 @@ module Stripe
|
|
2
2
|
module CLI
|
3
3
|
module Commands
|
4
4
|
class Customers < Command
|
5
|
+
include Stripe::Utils
|
6
|
+
|
5
7
|
desc "list", "List customers"
|
6
8
|
option :count
|
7
9
|
option :offset
|
@@ -34,7 +36,7 @@ module Stripe
|
|
34
36
|
option :card_exp_year
|
35
37
|
option :card_cvc
|
36
38
|
option :card_name
|
37
|
-
|
39
|
+
option :metadata, :type => :hash
|
38
40
|
def create
|
39
41
|
options[:email] ||= ask('Customer\'s Email:')
|
40
42
|
options[:description] ||= ask('Provide a description:')
|
@@ -44,22 +46,9 @@ module Stripe
|
|
44
46
|
else
|
45
47
|
options[:coupon] ||= ask('Apply a coupon:')
|
46
48
|
end
|
49
|
+
options.delete( :coupon ) if options[:coupon] == ""
|
47
50
|
|
48
|
-
if options[:plan]
|
49
|
-
options[:card_name] ||= ask('Name on Card:')
|
50
|
-
options[:card_number] ||= ask('Card number:')
|
51
|
-
options[:card_cvc] ||= ask('CVC code:')
|
52
|
-
options[:card_exp_month] ||= ask('expiration month:')
|
53
|
-
options[:card_exp_year] ||= ask('expiration year:')
|
54
|
-
|
55
|
-
options[:card] = {
|
56
|
-
:number => options.delete(:card_number),
|
57
|
-
:exp_month => options.delete(:card_exp_month),
|
58
|
-
:exp_year => options.delete(:card_exp_year),
|
59
|
-
:cvc => options.delete(:card_cvc),
|
60
|
-
:name => options.delete(:card_name)
|
61
|
-
}
|
62
|
-
end unless options[:card]
|
51
|
+
options[:card] ||= credit_card( options ) if options[:plan]
|
63
52
|
|
64
53
|
super Stripe::Customer, options
|
65
54
|
end
|
@@ -2,6 +2,7 @@ module Stripe
|
|
2
2
|
module CLI
|
3
3
|
module Commands
|
4
4
|
class Tokens < Command
|
5
|
+
include Stripe::Utils
|
5
6
|
|
6
7
|
desc "find ID", "Find a Token"
|
7
8
|
def find event_id
|
@@ -22,25 +23,11 @@ module Stripe
|
|
22
23
|
def create type
|
23
24
|
case type
|
24
25
|
when 'card', 'credit_card'
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
options[:card_exp_year] ||= ask('expiration year:')
|
31
|
-
|
32
|
-
options[:card] = {
|
33
|
-
:number => options.delete(:card_number),
|
34
|
-
:exp_month => options.delete(:card_exp_month),
|
35
|
-
:exp_year => options.delete(:card_exp_year),
|
36
|
-
:cvc => options.delete(:card_cvc),
|
37
|
-
:name => options.delete(:card_name)
|
38
|
-
}
|
39
|
-
options.delete(:bank_account)
|
40
|
-
options.delete(:country)
|
41
|
-
options.delete(:routing_number)
|
42
|
-
options.delete(:account_number)
|
43
|
-
end
|
26
|
+
options[:card] ||= credit_card( options )
|
27
|
+
options.delete(:bank_account)
|
28
|
+
options.delete(:country)
|
29
|
+
options.delete(:routing_number)
|
30
|
+
options.delete(:account_number)
|
44
31
|
when 'account', 'bank_account'
|
45
32
|
unless options[:bank_account]
|
46
33
|
options[:account_number] ||= ask('Account Number:')
|
@@ -24,6 +24,8 @@ module Stripe
|
|
24
24
|
option :description
|
25
25
|
option :statement_descriptor
|
26
26
|
option :balance, :type => :boolean
|
27
|
+
option :self, :type => :boolean
|
28
|
+
option :metadata, :type => :hash
|
27
29
|
def create
|
28
30
|
if options.delete(:balance) == true
|
29
31
|
options[:amount] = Stripe::Balance.retrieve(api_key).available.first.amount
|
@@ -31,8 +33,14 @@ module Stripe
|
|
31
33
|
options[:amount] ||= ask('Amount in Dollars:')
|
32
34
|
options[:amount] = (Float(options[:amount]) * 100).to_i
|
33
35
|
end
|
34
|
-
|
35
|
-
|
36
|
+
|
37
|
+
if options.delete(:self) == true
|
38
|
+
options[:recipient] = 'self'
|
39
|
+
else
|
40
|
+
options[:recipient] ||= ask('Recipient ID or self:')
|
41
|
+
options[:recipient] = create_recipient[:id] if options[:recipient] == ""
|
42
|
+
end
|
43
|
+
|
36
44
|
super Stripe::Transfer, options
|
37
45
|
end
|
38
46
|
|
data/lib/stripe/cli/version.rb
CHANGED
data/lib/stripe/utils.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
module Stripe
|
2
|
+
module Utils
|
3
|
+
|
4
|
+
def credit_card options = {}
|
5
|
+
{
|
6
|
+
:name => options.delete(:card_name) || ask('Name on Card:'),
|
7
|
+
:number => options.delete(:card_number) || ask('Card number:'),
|
8
|
+
:cvc => options.delete(:card_cvc) || ask('CVC code:'),
|
9
|
+
:exp_month => options.delete(:card_exp_month) || ask('expiration month:'),
|
10
|
+
:exp_year => options.delete(:card_exp_year) || ask('expiration year:')
|
11
|
+
}
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
data/spec/command_spec.rb
CHANGED
@@ -1,13 +1,9 @@
|
|
1
1
|
require 'rspec'
|
2
2
|
require_relative '../lib/stripe/cli.rb'
|
3
3
|
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
"stripe-key"
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
4
|
+
f = Tempfile.new('config')
|
5
|
+
f.write "key = stripe-key" and f.rewind
|
6
|
+
Stripe::CLI::Command.class_variable_set :@@config, f
|
11
7
|
|
12
8
|
describe Stripe::CLI::Command do
|
13
9
|
let(:_id_) { "random-id-string" }
|
data/stripe-cli.gemspec
CHANGED
@@ -8,23 +8,26 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Stripe::CLI::VERSION
|
9
9
|
spec.authors = ["Alex MacCaw", "Andy Cohen"]
|
10
10
|
spec.email = ["alex@stripe.com", "outlawandy@gmail.com"]
|
11
|
-
spec.description =
|
11
|
+
spec.description = <<-DESC.gsub("\t","")
|
12
|
+
a git-style cli, offering instant access to all of the Stripe API right from the console.
|
13
|
+
With an emphasis on convenience and productivity and a commitment to pretty, colorful, but most of all READABLE output.
|
14
|
+
DESC
|
12
15
|
spec.summary = %q{Command line interface to Stripe}
|
13
16
|
spec.homepage = "https://stripe.com"
|
14
17
|
spec.license = "MIT"
|
15
18
|
|
16
|
-
spec.files = `git ls-files`.split($/)
|
17
|
-
spec.
|
19
|
+
spec.files = `git ls-files`.split($/).delete_if{ |f| "png" == f[/\.(.*)$/,1] }# don't include example images
|
20
|
+
spec.bindir = 'bin'
|
18
21
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
22
|
spec.require_paths = ["lib"]
|
20
23
|
spec.executables = ["stripe"]
|
21
24
|
|
22
25
|
spec.add_development_dependency "bundler", "~> 1.3"
|
23
26
|
spec.add_development_dependency "rake"
|
27
|
+
spec.add_development_dependency "rspec"
|
24
28
|
spec.add_dependency "thor", "~> 0.18.1"
|
25
|
-
spec.add_dependency "stripe", "~> 1.8.
|
29
|
+
spec.add_dependency "stripe", "~> 1.8.8"
|
26
30
|
spec.add_dependency "awesome_print"
|
27
31
|
spec.add_dependency "parseconfig"
|
28
32
|
spec.add_dependency "chronic"
|
29
|
-
spec.add_development_dependency "rspec"
|
30
33
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stripe-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alex MacCaw
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-10-
|
12
|
+
date: 2013-10-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -39,6 +39,20 @@ dependencies:
|
|
39
39
|
- - '>='
|
40
40
|
- !ruby/object:Gem::Version
|
41
41
|
version: '0'
|
42
|
+
- !ruby/object:Gem::Dependency
|
43
|
+
name: rspec
|
44
|
+
requirement: !ruby/object:Gem::Requirement
|
45
|
+
requirements:
|
46
|
+
- - '>='
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '0'
|
49
|
+
type: :development
|
50
|
+
prerelease: false
|
51
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
42
56
|
- !ruby/object:Gem::Dependency
|
43
57
|
name: thor
|
44
58
|
requirement: !ruby/object:Gem::Requirement
|
@@ -59,14 +73,14 @@ dependencies:
|
|
59
73
|
requirements:
|
60
74
|
- - ~>
|
61
75
|
- !ruby/object:Gem::Version
|
62
|
-
version: 1.8.
|
76
|
+
version: 1.8.8
|
63
77
|
type: :runtime
|
64
78
|
prerelease: false
|
65
79
|
version_requirements: !ruby/object:Gem::Requirement
|
66
80
|
requirements:
|
67
81
|
- - ~>
|
68
82
|
- !ruby/object:Gem::Version
|
69
|
-
version: 1.8.
|
83
|
+
version: 1.8.8
|
70
84
|
- !ruby/object:Gem::Dependency
|
71
85
|
name: awesome_print
|
72
86
|
requirement: !ruby/object:Gem::Requirement
|
@@ -109,21 +123,9 @@ dependencies:
|
|
109
123
|
- - '>='
|
110
124
|
- !ruby/object:Gem::Version
|
111
125
|
version: '0'
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
requirements:
|
116
|
-
- - '>='
|
117
|
-
- !ruby/object:Gem::Version
|
118
|
-
version: '0'
|
119
|
-
type: :development
|
120
|
-
prerelease: false
|
121
|
-
version_requirements: !ruby/object:Gem::Requirement
|
122
|
-
requirements:
|
123
|
-
- - '>='
|
124
|
-
- !ruby/object:Gem::Version
|
125
|
-
version: '0'
|
126
|
-
description: A `GIT style` Command line utility for accessing the Stripe API
|
126
|
+
description: |2
|
127
|
+
a git-style cli, offering instant access to all of the Stripe API right from the console.
|
128
|
+
With an emphasis on convenience and productivity and a commitment to pretty, colorful, but most of all READABLE output.
|
127
129
|
email:
|
128
130
|
- alex@stripe.com
|
129
131
|
- outlawandy@gmail.com
|
@@ -139,7 +141,6 @@ files:
|
|
139
141
|
- Rakefile
|
140
142
|
- bin/stripe
|
141
143
|
- example.conf
|
142
|
-
- example.png
|
143
144
|
- lib/stripe/cli.rb
|
144
145
|
- lib/stripe/cli/command.rb
|
145
146
|
- lib/stripe/cli/commands.rb
|
@@ -156,7 +157,7 @@ files:
|
|
156
157
|
- lib/stripe/cli/commands/transfers.rb
|
157
158
|
- lib/stripe/cli/runner.rb
|
158
159
|
- lib/stripe/cli/version.rb
|
159
|
-
-
|
160
|
+
- lib/stripe/utils.rb
|
160
161
|
- spec/command_spec.rb
|
161
162
|
- stripe-cli.gemspec
|
162
163
|
homepage: https://stripe.com
|
data/example.png
DELETED
Binary file
|
data/output.png
DELETED
Binary file
|