stripe-cli 1.8.0 → 1.8.3
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 +15 -12
- data/changelog.md +19 -0
- data/example-configuration.stripecli +3 -1
- data/lib/stripe/cli/command.rb +35 -21
- data/lib/stripe/cli/commands/recipients.rb +6 -8
- data/lib/stripe/cli/commands/tokens.rb +13 -7
- data/lib/stripe/cli/version.rb +1 -1
- data/stripe-cli.gemspec +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2c011a0b4876f5117b209ae046b3324a5563fe03
|
4
|
+
data.tar.gz: 10c2cda7d172ee7bf3276884919b004b2eb4d2bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c4394c23d23222509f14210f0b92c82247fa1d6532194b4c93ff879ff1c35f256161ec8c1f26ee5ccc13f8e89be666a76798a347bd3eaff14be57956a89bf815
|
7
|
+
data.tar.gz: 7726d0daccaf4cd42e1bc0ac6cc4c1ac217662bb69f1ed1d18e432a226f06557068dde33504af1cb1eb0962a6ac610a7f47122b73c40aef9784ec2d8ce241a78
|
data/README.md
CHANGED
@@ -63,7 +63,7 @@ If you choose to go this route, make sure to add `.stripecli` to your `.gitignor
|
|
63
63
|
|
64
64
|
By default, Date/Time stamps are converted automatically to your local machine time. No more Epoch/Unix timestamp garbage!
|
65
65
|
|
66
|
-
If you'd prefer to have time Date/Time stamps
|
66
|
+
If you'd prefer to have time Date/Time stamps converted to UTC time, set the config option `dates` or `-d` to `utc`. You can also set it to `unix` to see the original Unix timestamp passed from the API. By default, it uses `local`.
|
67
67
|
|
68
68
|
### Dollars vs. Cents
|
69
69
|
|
@@ -92,13 +92,13 @@ If you need to adjust this setting temporarily, there are global flags which may
|
|
92
92
|
|
93
93
|
## General Features & Flexibility
|
94
94
|
|
95
|
-
Any parameters accepted by the [stripe api](https://stripe.com/docs/api) are acceptable options to pass into commands, including metadata.
|
95
|
+
Any parameters accepted by the [stripe api](https://stripe.com/docs/api) are acceptable options to pass into commands, including metadata and the `expand` parameter.
|
96
96
|
|
97
97
|
$ stripe charges create --amount=9.98 --description=a\ must\ have --number=4242424242424242 --cvc=123 --exp-month=10 --exp-year=2020
|
98
98
|
|
99
99
|
or
|
100
100
|
|
101
|
-
$ stripe charges create --amount=16.72 --token=tok_abc123 --metadata=foo:bar meta:
|
101
|
+
$ stripe charges create --amount=16.72 --token=tok_abc123 --metadata=foo:bar meta:baz --expand=balance_transaction
|
102
102
|
|
103
103
|
or
|
104
104
|
|
@@ -169,8 +169,11 @@ Api errors are rescued and their messages displayed for you to read. No more `b
|
|
169
169
|
[-k | --key=KEY] # One of your API secret keys, provided by Stripe
|
170
170
|
[-e | --env=ENV] # expects a `~/.stripecli` file with section headers for any string passed into it
|
171
171
|
[-v | --version=VERSION] # Stripe API version-date. Looks like `YYYY-MM-DD`
|
172
|
+
[-d | --dates=DATES] # Date Style. It should be either local, utc, or unix. Defaults to local.
|
172
173
|
[--dollar-amounts] # configuration flag setting expected currency units to dollars
|
173
174
|
[--no-dollar-amounts] # configuration flag setting expected currency units to cents
|
175
|
+
[--strip-nils] # use this flag to strip nil-valued attributes from the output
|
176
|
+
[--expand=one two three] # one or more ID properties of the response you'd like expanded into full objects
|
174
177
|
|
175
178
|
## Command Documentation
|
176
179
|
|
@@ -605,17 +608,17 @@ Api errors are rescued and their messages displayed for you to read. No more `b
|
|
605
608
|
### Invoice Items
|
606
609
|
|
607
610
|
Commands:
|
608
|
-
stripe
|
609
|
-
stripe
|
610
|
-
stripe
|
611
|
-
stripe
|
612
|
-
stripe
|
611
|
+
stripe invoice-items create # Create a new invoice item for customer
|
612
|
+
stripe invoice-items delete ID # Delete a invoice item
|
613
|
+
stripe invoice-items find ID # Find an invoice item
|
614
|
+
stripe invoice-items help [COMMAND] # Describe subcommands or one specific subcommand
|
615
|
+
stripe invoice-items list # List invoice items (optionally by customer_id)
|
613
616
|
|
614
617
|
|
615
618
|
#### Invoice Item Create
|
616
619
|
|
617
620
|
Usage:
|
618
|
-
stripe create
|
621
|
+
stripe invoice-item create
|
619
622
|
|
620
623
|
Options:
|
621
624
|
[--customer=CUSTOMER] # The ID of customer for the invoice item
|
@@ -633,21 +636,21 @@ Api errors are rescued and their messages displayed for you to read. No more `b
|
|
633
636
|
#### Invoice Item Delete
|
634
637
|
|
635
638
|
Usage:
|
636
|
-
stripe delete ID
|
639
|
+
stripe invoice-item delete ID
|
637
640
|
|
638
641
|
Delete a invoice item
|
639
642
|
|
640
643
|
#### Invoice Item Find
|
641
644
|
|
642
645
|
Usage:
|
643
|
-
stripe find ID
|
646
|
+
stripe invoice-item find ID
|
644
647
|
|
645
648
|
Find an invoice item
|
646
649
|
|
647
650
|
#### Invoice Item List
|
648
651
|
|
649
652
|
Usage:
|
650
|
-
stripe list
|
653
|
+
stripe invoice-items list
|
651
654
|
|
652
655
|
Options:
|
653
656
|
[--starting-after=STARTING_AFTER] # The ID of the last object in the previous paged result set. For cursor-based pagination.
|
data/changelog.md
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
# Stripe-CLI Project Change Log
|
2
2
|
|
3
|
+
## 1.8.3
|
4
|
+
|
5
|
+
- new command-line option `--expand` provides support for Stripe API expansions
|
6
|
+
- https://stripe.com/docs/api#expanding_objects
|
7
|
+
- stripe-ruby dependancy updated to version 1.24.0
|
8
|
+
|
9
|
+
## 1.8.2
|
10
|
+
|
11
|
+
- bug fixes
|
12
|
+
- it was previously possible for certain command-line arguments to be passed through to the Stripe API resulting in API exceptions.
|
13
|
+
- creating tokens would fail for bank account type
|
14
|
+
|
15
|
+
## 1.8.1
|
16
|
+
|
17
|
+
- new configuration option to strip nil-valued attributes from command-line output
|
18
|
+
- use on command-line with global flag `--strip-nils`
|
19
|
+
- or set in config-file with `strip_nils=true`
|
20
|
+
- override config-file setting with global command-line flag `--no-strip-nils`
|
21
|
+
|
3
22
|
## 1.8.0
|
4
23
|
|
5
24
|
- top-level `invoice_items` command
|
@@ -1,6 +1,8 @@
|
|
1
1
|
default = test
|
2
2
|
version = "2014-07-22"
|
3
3
|
dollar_amounts = false
|
4
|
+
dates = "utc"
|
5
|
+
strip_nils = true
|
4
6
|
|
5
7
|
[test]
|
6
8
|
key = sk_test_abc123def456ghi789jklmno
|
@@ -11,4 +13,4 @@ dollar_amounts = false
|
|
11
13
|
[new-api]
|
12
14
|
key = sk_test_abc123def456ghi789jklmno
|
13
15
|
version = "2014-09-08"
|
14
|
-
dollar_amounts = true
|
16
|
+
dollar_amounts = true
|
data/lib/stripe/cli/command.rb
CHANGED
@@ -11,6 +11,8 @@ module Stripe
|
|
11
11
|
class_option :version, :aliases => :v, :type => :string, :desc => "Stripe API version-date. Looks like `YYYY-MM-DD`"
|
12
12
|
class_option :dates, :aliases => :d, :type => :string, :desc => "Date Style. It should be either local, utc, or unix. Defaults to local.", :enum => %w(local utc unix)
|
13
13
|
class_option :dollar_amounts, :type => :boolean, :desc => "set expected currency units to dollars or cents"
|
14
|
+
class_option :strip_nils, :type => :boolean, :desc => "use this flag to strip nil valued attributes from the output"
|
15
|
+
class_option :expand, :type => :array, :desc => "one or more ID properties of the response you'd like expanded into full objects"
|
14
16
|
|
15
17
|
|
16
18
|
protected
|
@@ -27,13 +29,16 @@ module Stripe
|
|
27
29
|
@env ||= options.delete(:env) || config['default']
|
28
30
|
end
|
29
31
|
|
30
|
-
def
|
31
|
-
|
32
|
+
def date_format
|
33
|
+
options.delete(:dates) || stored_api_option('dates')
|
32
34
|
end
|
33
35
|
|
34
36
|
def dollar_amounts
|
35
|
-
|
36
|
-
|
37
|
+
options.delete(:dollar_amounts) { !(stored_api_option('dollar_amounts') == 'false') }
|
38
|
+
end
|
39
|
+
|
40
|
+
def strip_nils?
|
41
|
+
options.delete(:strip_nils) { stored_api_option('strip_nils') == "true" }
|
37
42
|
end
|
38
43
|
|
39
44
|
def stored_api_option option
|
@@ -55,11 +60,11 @@ module Stripe
|
|
55
60
|
end
|
56
61
|
|
57
62
|
def list klass, options
|
58
|
-
request klass, :all, options
|
63
|
+
request klass, :all, options
|
59
64
|
end
|
60
65
|
|
61
66
|
def find klass, id
|
62
|
-
request klass, :retrieve, id,
|
67
|
+
request klass, :retrieve, {:id => id, :expand => options[:expand]}
|
63
68
|
end
|
64
69
|
|
65
70
|
def delete klass, id
|
@@ -67,11 +72,11 @@ module Stripe
|
|
67
72
|
end
|
68
73
|
|
69
74
|
def create klass, options
|
70
|
-
request klass, :create, options
|
75
|
+
request klass, :create, options
|
71
76
|
end
|
72
77
|
|
73
78
|
def request object, method, *arguments
|
74
|
-
|
79
|
+
pre_request_setup
|
75
80
|
begin
|
76
81
|
output object.send method, *arguments
|
77
82
|
rescue StripeError => e
|
@@ -90,18 +95,7 @@ module Stripe
|
|
90
95
|
when Stripe::StripeObject
|
91
96
|
inspect object.instance_variable_get(:@values)
|
92
97
|
when Numeric
|
93
|
-
|
94
|
-
case dates
|
95
|
-
when 'unix' then
|
96
|
-
object
|
97
|
-
when 'utc'
|
98
|
-
Time.at( object ).utc
|
99
|
-
else
|
100
|
-
Time.at( object )
|
101
|
-
end
|
102
|
-
else
|
103
|
-
object
|
104
|
-
end
|
98
|
+
object > 1000000000 ? handle_date(object) : object
|
105
99
|
else
|
106
100
|
object
|
107
101
|
end
|
@@ -114,12 +108,32 @@ module Stripe
|
|
114
108
|
ap inspect( objects ), :indent => -2
|
115
109
|
end
|
116
110
|
|
111
|
+
# strip non-api params from options hash
|
112
|
+
# set api_version & api_key
|
113
|
+
def pre_request_setup
|
114
|
+
@strip_nils = strip_nils?
|
115
|
+
@date_format = date_format
|
116
|
+
Stripe.api_key = api_key
|
117
|
+
Stripe.api_version = api_version unless api_version.nil?
|
118
|
+
end
|
119
|
+
|
117
120
|
def handle_hash object
|
118
121
|
object.inject({}) do |hash, (key, value)|
|
119
|
-
hash[key] = inspect( value )
|
122
|
+
hash[key] = inspect( value ) unless @strip_nils && value.nil?
|
120
123
|
hash
|
121
124
|
end
|
122
125
|
end
|
126
|
+
|
127
|
+
def handle_date object
|
128
|
+
case @date_format
|
129
|
+
when 'unix' then
|
130
|
+
object
|
131
|
+
when 'utc'
|
132
|
+
Time.at( object ).utc
|
133
|
+
else
|
134
|
+
Time.at( object )
|
135
|
+
end
|
136
|
+
end
|
123
137
|
end
|
124
138
|
end
|
125
139
|
end
|
@@ -69,14 +69,7 @@ module Stripe
|
|
69
69
|
options[:bank_account] = bank_account( options )
|
70
70
|
end
|
71
71
|
|
72
|
-
options.
|
73
|
-
options.delete :account_number
|
74
|
-
options.delete :routing_number
|
75
|
-
options.delete :card_number
|
76
|
-
options.delete :card_exp_month
|
77
|
-
options.delete :card_exp_year
|
78
|
-
options.delete :card_cvc
|
79
|
-
options.delete :card_name
|
72
|
+
options.delete_if {|option,_| strip_list.include? option }
|
80
73
|
|
81
74
|
super Stripe::Recipient, options
|
82
75
|
end
|
@@ -88,6 +81,11 @@ module Stripe
|
|
88
81
|
opt.delete(:corporation) ? 'corporation' :
|
89
82
|
yes?('Corporation? [yN]') ? 'corporation' : 'individual'
|
90
83
|
end
|
84
|
+
|
85
|
+
def strip_list
|
86
|
+
%i( card_number card_exp_month card_exp_year card_cvc card_name country routing_number account_number )
|
87
|
+
end
|
88
|
+
|
91
89
|
end
|
92
90
|
end
|
93
91
|
end
|
@@ -21,20 +21,26 @@ module Stripe
|
|
21
21
|
option :routing_number, :desc => "ACH routing number for bank account"
|
22
22
|
option :account_number, :desc => "account number of bank account. Must be a checking account"
|
23
23
|
def create type
|
24
|
-
case type
|
24
|
+
opt_symbol, value_hash = case type
|
25
25
|
when 'card', 'credit_card', 'credit card'
|
26
|
-
|
27
|
-
options = {}
|
28
|
-
options[:card] = credit_card
|
26
|
+
[ :card, credit_card( options ) ]
|
29
27
|
when 'account', 'bank_account', 'bank account'
|
30
|
-
bank_account
|
31
|
-
options = {}
|
32
|
-
options[:bank_account] = bank_account
|
28
|
+
[ :bank_account, bank_account( options ) ]
|
33
29
|
end
|
34
30
|
|
31
|
+
options.delete_if {|option,_| strip_list.include? option }
|
32
|
+
|
33
|
+
options[opt_symbol] = value_hash
|
34
|
+
|
35
35
|
super Stripe::Token, options
|
36
36
|
end
|
37
37
|
|
38
|
+
private
|
39
|
+
|
40
|
+
def strip_list
|
41
|
+
%i( card card_number card_exp_month card_exp_year card_cvc card_name bank_account country routing_number account_number )
|
42
|
+
end
|
43
|
+
|
38
44
|
end
|
39
45
|
end
|
40
46
|
end
|
data/lib/stripe/cli/version.rb
CHANGED
data/stripe-cli.gemspec
CHANGED
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
25
25
|
spec.add_development_dependency 'bundler', '~> 1.3'
|
26
26
|
spec.add_development_dependency 'rspec', '~> 2.12', '>= 2.12.0'
|
27
27
|
spec.add_runtime_dependency 'thor', '~> 0.18', '>= 0.18.1'
|
28
|
-
spec.add_runtime_dependency 'stripe', '~> 1.
|
28
|
+
spec.add_runtime_dependency 'stripe', '~> 1.24.0', '>= 1.24.0'
|
29
29
|
spec.add_runtime_dependency 'awesome_print', '~> 1.2', '>= 1.2.0'
|
30
30
|
spec.add_runtime_dependency 'parseconfig', '~> 1.0', '>= 1.0.4'
|
31
31
|
spec.add_runtime_dependency 'chronic', '~> 0.10', '>= 0.10.2'
|
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.8.
|
4
|
+
version: 1.8.3
|
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: 2015-
|
12
|
+
date: 2015-08-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -71,20 +71,20 @@ dependencies:
|
|
71
71
|
requirements:
|
72
72
|
- - "~>"
|
73
73
|
- !ruby/object:Gem::Version
|
74
|
-
version:
|
74
|
+
version: 1.24.0
|
75
75
|
- - ">="
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 1.
|
77
|
+
version: 1.24.0
|
78
78
|
type: :runtime
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - "~>"
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version:
|
84
|
+
version: 1.24.0
|
85
85
|
- - ">="
|
86
86
|
- !ruby/object:Gem::Version
|
87
|
-
version: 1.
|
87
|
+
version: 1.24.0
|
88
88
|
- !ruby/object:Gem::Dependency
|
89
89
|
name: awesome_print
|
90
90
|
requirement: !ruby/object:Gem::Requirement
|