shopify_api 3.2.2 → 3.2.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/CHANGELOG +4 -0
- data/Gemfile.lock +9 -1
- data/lib/shopify_api/cli.rb +19 -4
- data/lib/shopify_api/version.rb +1 -1
- data/shopify_api.gemspec +1 -0
- data/test/cli_test.rb +26 -11
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d56d8ba23ba5cddaaf15ce71861a42ac8f8b412
|
4
|
+
data.tar.gz: 0c0f579decadffd4a01c6f67ecf68997d79c4b65
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 829ebcf857c29c748840b16bd5eeafe2edaa54354ea1c999882a64d95dc1ab8e2b31025418af4eff916c5cebd6b040134626095371a732e26475e56440968868
|
7
|
+
data.tar.gz: b48dbc3b6d8a14ab36019292824d4ade9cb19a085287f08778dced7097435934e0af0230ddc2cbeb434f0ffcc2662cf8f24317e3832a63220d5eff321d623959
|
data/CHANGELOG
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
shopify_api (3.2.
|
4
|
+
shopify_api (3.2.3)
|
5
5
|
activeresource (>= 3.0.0)
|
6
|
+
pry
|
6
7
|
thor (~> 0.18.1)
|
7
8
|
|
8
9
|
GEM
|
@@ -23,16 +24,23 @@ GEM
|
|
23
24
|
tzinfo (~> 0.3.37)
|
24
25
|
atomic (1.1.14)
|
25
26
|
builder (3.1.4)
|
27
|
+
coderay (1.1.0)
|
26
28
|
fakeweb (1.3.0)
|
27
29
|
i18n (0.6.9)
|
28
30
|
metaclass (0.0.1)
|
31
|
+
method_source (0.8.2)
|
29
32
|
minitest (4.7.5)
|
30
33
|
mocha (0.14.0)
|
31
34
|
metaclass (~> 0.0.1)
|
32
35
|
multi_json (1.8.4)
|
36
|
+
pry (0.9.12.6)
|
37
|
+
coderay (~> 1.0)
|
38
|
+
method_source (~> 0.8)
|
39
|
+
slop (~> 3.4)
|
33
40
|
rails-observers (0.1.2)
|
34
41
|
activemodel (~> 4.0)
|
35
42
|
rake (10.1.0)
|
43
|
+
slop (3.5.0)
|
36
44
|
thor (0.18.1)
|
37
45
|
thread_safe (0.1.3)
|
38
46
|
atomic
|
data/lib/shopify_api/cli.rb
CHANGED
@@ -30,6 +30,11 @@ module ShopifyAPI
|
|
30
30
|
puts "\nopen https://#{config['domain']}/admin/api in your browser to get API credentials\n"
|
31
31
|
config['api_key'] = ask("API key?")
|
32
32
|
config['password'] = ask("Password?")
|
33
|
+
if ask("Would you like to use pry as your shell? (y/n)") === "y"
|
34
|
+
config["shell"] = "pry"
|
35
|
+
else
|
36
|
+
config["shell"] = "irb"
|
37
|
+
end
|
33
38
|
create_file(file, config.to_yaml)
|
34
39
|
end
|
35
40
|
if available_connections.one?
|
@@ -100,10 +105,7 @@ module ShopifyAPI
|
|
100
105
|
puts "using #{config['domain']}"
|
101
106
|
ShopifyAPI::Base.site = site_from_config(config)
|
102
107
|
|
103
|
-
|
104
|
-
require 'irb/completion'
|
105
|
-
ARGV.clear
|
106
|
-
IRB.start
|
108
|
+
launch_shell(config)
|
107
109
|
end
|
108
110
|
|
109
111
|
tasks.keys.abbrev.each do |shortcut, command|
|
@@ -137,6 +139,19 @@ module ShopifyAPI
|
|
137
139
|
ShopifyAPI::Base.site = "#{protocol}://#{api_key}:#{password}@#{domain}/admin"
|
138
140
|
end
|
139
141
|
|
142
|
+
def launch_shell(config)
|
143
|
+
if config["shell"] === "pry"
|
144
|
+
require 'pry'
|
145
|
+
ARGV.clear
|
146
|
+
Pry.start
|
147
|
+
else
|
148
|
+
require 'irb'
|
149
|
+
require 'irb/completion'
|
150
|
+
ARGV.clear
|
151
|
+
IRB.start
|
152
|
+
end
|
153
|
+
end
|
154
|
+
|
140
155
|
def available_connections
|
141
156
|
@available_connections ||= begin
|
142
157
|
pattern = File.join(shop_config_dir, "*.yml")
|
data/lib/shopify_api/version.rb
CHANGED
data/shopify_api.gemspec
CHANGED
@@ -26,6 +26,7 @@ Gem::Specification.new do |s|
|
|
26
26
|
|
27
27
|
s.add_dependency("activeresource", [">= 3.0.0"])
|
28
28
|
s.add_dependency("thor", ["~> 0.18.1"])
|
29
|
+
s.add_dependency("pry", [">= 0.9.12.6"])
|
29
30
|
|
30
31
|
if s.respond_to?(:add_development_dependency)
|
31
32
|
s.add_development_dependency("mocha", ">= 0.9.8")
|
data/test/cli_test.rb
CHANGED
@@ -26,11 +26,8 @@ class CliTest < Test::Unit::TestCase
|
|
26
26
|
end
|
27
27
|
|
28
28
|
test "add with blank domain" do
|
29
|
-
|
30
|
-
$
|
31
|
-
$stdout.expects(:print).with("API key? ")
|
32
|
-
$stdout.expects(:print).with("Password? ")
|
33
|
-
$stdin.expects(:gets).times(3).returns("", "key", "pass")
|
29
|
+
standard_add_shop_prompts
|
30
|
+
$stdin.expects(:gets).times(4).returns("", "key", "pass", "y")
|
34
31
|
@cli.expects(:puts).with("\nopen https://foo.myshopify.com/admin/api in your browser to get API credentials\n")
|
35
32
|
@cli.expects(:puts).with("Default connection is foo")
|
36
33
|
|
@@ -40,16 +37,14 @@ class CliTest < Test::Unit::TestCase
|
|
40
37
|
assert_equal 'foo.myshopify.com', config['domain']
|
41
38
|
assert_equal 'key', config['api_key']
|
42
39
|
assert_equal 'pass', config['password']
|
40
|
+
assert_equal 'pry', config['shell']
|
43
41
|
assert_equal 'https', config['protocol']
|
44
42
|
assert_equal config_file('foo'), File.readlink(@default_symlink)
|
45
43
|
end
|
46
44
|
|
47
45
|
test "add with explicit domain" do
|
48
|
-
|
49
|
-
$
|
50
|
-
$stdout.expects(:print).with("API key? ")
|
51
|
-
$stdout.expects(:print).with("Password? ")
|
52
|
-
$stdin.expects(:gets).times(3).returns("bar.myshopify.com", "key", "pass")
|
46
|
+
standard_add_shop_prompts
|
47
|
+
$stdin.expects(:gets).times(4).returns("bar.myshopify.com", "key", "pass", "y")
|
53
48
|
@cli.expects(:puts).with("\nopen https://bar.myshopify.com/admin/api in your browser to get API credentials\n")
|
54
49
|
@cli.expects(:puts).with("Default connection is foo")
|
55
50
|
|
@@ -59,6 +54,18 @@ class CliTest < Test::Unit::TestCase
|
|
59
54
|
assert_equal 'bar.myshopify.com', config['domain']
|
60
55
|
end
|
61
56
|
|
57
|
+
test "add with irb as shell" do
|
58
|
+
standard_add_shop_prompts
|
59
|
+
$stdin.expects(:gets).times(4).returns("bar.myshopify.com", "key", "pass", "fuuuuuuu")
|
60
|
+
@cli.expects(:puts).with("\nopen https://bar.myshopify.com/admin/api in your browser to get API credentials\n")
|
61
|
+
@cli.expects(:puts).with("Default connection is foo")
|
62
|
+
|
63
|
+
@cli.add('foo')
|
64
|
+
|
65
|
+
config = YAML.load(File.read(config_file('foo')))
|
66
|
+
assert_equal 'irb', config['shell']
|
67
|
+
end
|
68
|
+
|
62
69
|
test "list" do
|
63
70
|
@cli.expects(:puts).with(" bar")
|
64
71
|
@cli.expects(:puts).with(" * foo")
|
@@ -99,11 +106,19 @@ class CliTest < Test::Unit::TestCase
|
|
99
106
|
private
|
100
107
|
|
101
108
|
def valid_options
|
102
|
-
{'domain' => 'snowdevil.myshopify.com', 'api_key' => 'key', 'password' => 'pass', 'protocol' => 'https'}
|
109
|
+
{'domain' => 'snowdevil.myshopify.com', 'api_key' => 'key', 'password' => 'pass', 'shell' => 'pry', 'protocol' => 'https'}
|
103
110
|
end
|
104
111
|
|
105
112
|
def config_file(connection)
|
106
113
|
File.join(@shop_config_dir, "#{connection}.yml")
|
107
114
|
end
|
108
115
|
|
116
|
+
def standard_add_shop_prompts
|
117
|
+
`rm -rf #{@shop_config_dir}/*`
|
118
|
+
$stdout.expects(:print).with("Domain? (leave blank for foo.myshopify.com) ")
|
119
|
+
$stdout.expects(:print).with("API key? ")
|
120
|
+
$stdout.expects(:print).with("Password? ")
|
121
|
+
$stdout.expects(:print).with("Would you like to use pry as your shell? (y/n) ")
|
122
|
+
end
|
123
|
+
|
109
124
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shopify_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.2.
|
4
|
+
version: 3.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shopify
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activeresource
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 0.18.1
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: pry
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 0.9.12.6
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 0.9.12.6
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: mocha
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|