versacommerce_api 1.0.16 → 1.0.17
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ffea06e1f2286dc324d82b8c2aaec2888de0e287
|
4
|
+
data.tar.gz: f8dbbdf494c8ce9b5719ccf09dca4ad0a90578fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 431a86486ed7cdd8ef2da0ac544fa9dd3212814205f056cf0a60fcb00b68d71616ab676b50d9491e52c138ebc57ec0c69a5b7f813245cd3e071d5bb614484f0b
|
7
|
+
data.tar.gz: 48926e482d27b2a4a12fae8952353ba5c4358437c20742426bba4407352b493775649300d8c344318dfab10db4be5358d1e9d42d44bfe2f78491fd6ef28f323c
|
@@ -5,7 +5,7 @@ require 'abbrev'
|
|
5
5
|
module VersacommerceAPI
|
6
6
|
class Cli < Thor
|
7
7
|
include Thor::Actions
|
8
|
-
|
8
|
+
|
9
9
|
class ConfigFileError < StandardError
|
10
10
|
end
|
11
11
|
|
@@ -16,18 +16,18 @@ module VersacommerceAPI
|
|
16
16
|
puts prefix + c
|
17
17
|
end
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
desc "add [CONNECTION]", "Create a config file for a connection named CONNECTION"
|
21
21
|
def add(connection)
|
22
22
|
file = config_file(connection)
|
23
23
|
if File.exist?(file)
|
24
24
|
raise ConfigFileError, "There is already a config file at #{file}"
|
25
25
|
else
|
26
|
-
config = {'protocol' => '
|
26
|
+
config = {'protocol' => 'https'}
|
27
27
|
config['domain'] = ask("Domain (leave blank for #{connection}.versacommerce.de):")
|
28
28
|
config['domain'] = "#{connection}.versacommerce.de" if config['domain'].blank?
|
29
29
|
config['domain'] = "#{config['domain']}.versacommerce.de" unless config['domain'].match(/[.:]/)
|
30
|
-
puts "\nopen
|
30
|
+
puts "\nopen https://#{config['domain']}/admin/settings/apps in your browser to get API credentials\n"
|
31
31
|
config['api_key'] = ask("API key :")
|
32
32
|
config['password'] = ask("Password:")
|
33
33
|
create_file(file, config.to_yaml)
|
@@ -36,7 +36,7 @@ module VersacommerceAPI
|
|
36
36
|
default(connection)
|
37
37
|
end
|
38
38
|
end
|
39
|
-
|
39
|
+
|
40
40
|
desc "remove [CONNECTION]", "Remove the config file for CONNECTION"
|
41
41
|
def remove(connection)
|
42
42
|
file = config_file(connection)
|
@@ -47,7 +47,7 @@ module VersacommerceAPI
|
|
47
47
|
config_file_not_found_error(file)
|
48
48
|
end
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
desc "edit [CONNECTION]", "Open the config file for CONNECTION with your default editor"
|
52
52
|
def edit(connection=nil)
|
53
53
|
file = config_file(connection)
|
@@ -61,7 +61,7 @@ module VersacommerceAPI
|
|
61
61
|
config_file_not_found_error(file)
|
62
62
|
end
|
63
63
|
end
|
64
|
-
|
64
|
+
|
65
65
|
desc "show [CONNECTION]", "Show the location and contents of the CONNECTION's config file"
|
66
66
|
def show(connection=nil)
|
67
67
|
connection ||= default_connection
|
@@ -73,7 +73,7 @@ module VersacommerceAPI
|
|
73
73
|
config_file_not_found_error(file)
|
74
74
|
end
|
75
75
|
end
|
76
|
-
|
76
|
+
|
77
77
|
desc "default [CONNECTION]", "Show or set the default connection"
|
78
78
|
def default(connection=nil)
|
79
79
|
if connection
|
@@ -91,17 +91,17 @@ module VersacommerceAPI
|
|
91
91
|
puts "There is no default connection set"
|
92
92
|
end
|
93
93
|
end
|
94
|
-
|
94
|
+
|
95
95
|
desc "console [CONNECTION]", "Startup an API console for CONNECTION"
|
96
96
|
def console(connection=nil)
|
97
97
|
file = config_file(connection)
|
98
|
-
|
98
|
+
|
99
99
|
config = YAML.load(File.read(file))
|
100
100
|
puts ""
|
101
101
|
puts "--> Starting interactive API console for #{config['domain']} - #{file}"
|
102
102
|
puts ""
|
103
103
|
VersacommerceAPI::Base.site = site_from_config(config)
|
104
|
-
|
104
|
+
|
105
105
|
require 'irb'
|
106
106
|
require 'irb/completion'
|
107
107
|
ARGV.clear
|
@@ -113,15 +113,15 @@ module VersacommerceAPI
|
|
113
113
|
end
|
114
114
|
|
115
115
|
private
|
116
|
-
|
116
|
+
|
117
117
|
def shop_config_dir
|
118
118
|
@shop_config_dir ||= File.join(ENV['HOME'], '.versacommerce', 'shops')
|
119
119
|
end
|
120
|
-
|
120
|
+
|
121
121
|
def default_symlink
|
122
122
|
@default_symlink ||= File.join(shop_config_dir, 'default')
|
123
123
|
end
|
124
|
-
|
124
|
+
|
125
125
|
def config_file(connection)
|
126
126
|
if connection
|
127
127
|
File.join(shop_config_dir, "#{connection}.yml")
|
@@ -129,35 +129,35 @@ module VersacommerceAPI
|
|
129
129
|
default_symlink
|
130
130
|
end
|
131
131
|
end
|
132
|
-
|
132
|
+
|
133
133
|
def site_from_config(config)
|
134
134
|
protocol = config['protocol'] || 'https'
|
135
135
|
api_key = config['api_key']
|
136
136
|
password = config['password']
|
137
137
|
domain = config['domain']
|
138
|
-
|
138
|
+
|
139
139
|
VersacommerceAPI::Base.site = "#{protocol}://#{api_key}:#{password}@#{domain}/api"
|
140
140
|
end
|
141
|
-
|
141
|
+
|
142
142
|
def available_connections
|
143
143
|
@available_connections ||= begin
|
144
144
|
pattern = File.join(shop_config_dir, "*.yml")
|
145
145
|
Dir.glob(pattern).map { |f| File.basename(f, ".yml") }
|
146
146
|
end
|
147
147
|
end
|
148
|
-
|
148
|
+
|
149
149
|
def default_connection_target
|
150
150
|
@default_connection_target ||= File.readlink(default_symlink)
|
151
151
|
end
|
152
|
-
|
152
|
+
|
153
153
|
def default_connection
|
154
154
|
@default_connection ||= File.basename(default_connection_target, ".yml")
|
155
155
|
end
|
156
|
-
|
156
|
+
|
157
157
|
def default?(connection)
|
158
158
|
default_connection == connection
|
159
159
|
end
|
160
|
-
|
160
|
+
|
161
161
|
def config_file_not_found_error(filename)
|
162
162
|
raise ConfigFileError, "Could not find config file at #{filename}"
|
163
163
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
2
|
module VersacommerceAPI
|
3
|
-
|
3
|
+
|
4
4
|
class ProductImage < Base
|
5
|
-
|
5
|
+
|
6
6
|
def initialize(attributes, persisted = false)
|
7
7
|
super
|
8
8
|
if self.attributes['file']
|
@@ -15,54 +15,54 @@ module VersacommerceAPI
|
|
15
15
|
self.attributes.delete 'file'
|
16
16
|
end
|
17
17
|
end
|
18
|
-
|
18
|
+
|
19
19
|
def pico
|
20
20
|
generate_resized_url(original, :resize, '16x16')
|
21
21
|
end
|
22
|
-
|
22
|
+
|
23
23
|
def icon
|
24
24
|
generate_resized_url(original, :resize, '32x32')
|
25
25
|
end
|
26
|
-
|
26
|
+
|
27
27
|
def thumb
|
28
28
|
generate_resized_url(original, :resize, '50x50')
|
29
29
|
end
|
30
|
-
|
30
|
+
|
31
31
|
def small
|
32
32
|
generate_resized_url(original, :resize, '100x100')
|
33
33
|
end
|
34
|
-
|
34
|
+
|
35
35
|
def medium
|
36
36
|
generate_resized_url(original, :resize, '240x240')
|
37
37
|
end
|
38
|
-
|
38
|
+
|
39
39
|
def large
|
40
40
|
generate_resized_url(original, :resize, '480x480')
|
41
41
|
end
|
42
|
-
|
42
|
+
|
43
43
|
def xlarge
|
44
44
|
generate_resized_url(original, :resize, '960x960')
|
45
45
|
end
|
46
|
-
|
46
|
+
|
47
47
|
def standard
|
48
48
|
generate_resized_url(original, :resize, '1024x1024')
|
49
49
|
end
|
50
|
-
|
50
|
+
|
51
51
|
def original
|
52
|
-
"
|
52
|
+
"https://images.versacommerce.net/++/#{src.gsub("http://", "")}"
|
53
53
|
end
|
54
|
-
|
54
|
+
|
55
55
|
def upload_image(data, filename = nil)
|
56
56
|
attributes['image_data'] = Base64.encode64(data)
|
57
57
|
attributes['filename'] = filename unless filename.nil?
|
58
58
|
end
|
59
|
-
|
59
|
+
|
60
60
|
private
|
61
|
-
|
61
|
+
|
62
62
|
def generate_resized_url(url, command, value)
|
63
63
|
refit_url = url.gsub("\/++\/", "\/#{command}=#{value}\/++\/")
|
64
64
|
end
|
65
|
-
|
65
|
+
|
66
66
|
end
|
67
67
|
|
68
68
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: versacommerce_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.17
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- VersaCommerce
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-03-
|
11
|
+
date: 2017-03-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -185,6 +185,7 @@ files:
|
|
185
185
|
- lib/versacommerce_api/resources/payment_method.rb
|
186
186
|
- lib/versacommerce_api/resources/product.rb
|
187
187
|
- lib/versacommerce_api/resources/product_image.rb
|
188
|
+
- lib/versacommerce_api/resources/product_listing.rb
|
188
189
|
- lib/versacommerce_api/resources/property.rb
|
189
190
|
- lib/versacommerce_api/resources/shipment.rb
|
190
191
|
- lib/versacommerce_api/resources/shipping_address.rb
|
@@ -216,7 +217,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
216
217
|
version: '0'
|
217
218
|
requirements: []
|
218
219
|
rubyforge_project:
|
219
|
-
rubygems_version: 2.
|
220
|
+
rubygems_version: 2.6.11
|
220
221
|
signing_key:
|
221
222
|
specification_version: 4
|
222
223
|
summary: The VersaCommerce API gem is a lightweight gem for accessing the VersaCommerce
|