shopifydev 0.0.10 → 0.0.11
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.
- data/NEXTSTEPS.md +6 -1
- data/lib/shopifydev/config.rb +28 -0
- data/lib/shopifydev/faker.rb +48 -4
- data/lib/shopifydev/pry/commands.rb +1 -0
- data/lib/shopifydev/shopify_api/caches.rb +3 -6
- data/lib/shopifydev/version.rb +1 -1
- data/shopifydev.gemspec +1 -0
- metadata +20 -4
data/NEXTSTEPS.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# switch command
|
1
|
+
# switch command
|
2
2
|
|
3
3
|
Z(2013.06.06):
|
4
4
|
M, I think you should work on memoizing the shop array and the 'refresh'
|
@@ -123,3 +123,8 @@ https://github.com/cldwalker/bond
|
|
123
123
|
# Using pry features
|
124
124
|
https://github.com/ConradIrwin/pry-rescue -- we **really** want to be using this in test/development environments in rails apps.
|
125
125
|
https://github.com/envygeeks/pry-vterm_aliases
|
126
|
+
|
127
|
+
|
128
|
+
|
129
|
+
# Switch should reload last client. If it has been less than 30 minutes, automatically. If it has been more than 30 minutes, ask [y/n/s]
|
130
|
+
|
data/lib/shopifydev/config.rb
CHANGED
@@ -1,7 +1,35 @@
|
|
1
1
|
require 'active_support/core_ext/hash'
|
2
|
+
require 'singleton'
|
2
3
|
|
3
4
|
module Shopifydev
|
4
5
|
module Config
|
6
|
+
class Data
|
7
|
+
include Singleton
|
8
|
+
|
9
|
+
def datafilepath
|
10
|
+
File.expand_path('~/.shopifydev.data')
|
11
|
+
end
|
12
|
+
|
13
|
+
def write
|
14
|
+
File.open(datafilepath, 'w'){ |f| YAML.dump(data, f) }
|
15
|
+
end
|
16
|
+
|
17
|
+
def data
|
18
|
+
data ||= YAML::load(File.open(
|
19
|
+
datafilepath
|
20
|
+
)).with_indifferent_access
|
21
|
+
end
|
22
|
+
|
23
|
+
def []=(key,value)
|
24
|
+
data[key] = value
|
25
|
+
write
|
26
|
+
end
|
27
|
+
|
28
|
+
def [](key)
|
29
|
+
data[key]
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
5
33
|
def self.config
|
6
34
|
YAML::load(File.open(File.expand_path('~/.shopifydev.yaml'))).with_indifferent_access
|
7
35
|
end
|
data/lib/shopifydev/faker.rb
CHANGED
@@ -5,20 +5,25 @@ module Shopifydev
|
|
5
5
|
extend ::Faker::ModuleUtils
|
6
6
|
extend self
|
7
7
|
|
8
|
+
NL = "\n"
|
9
|
+
|
8
10
|
|
9
11
|
def metafield(owner=nil, opts={})
|
10
12
|
owner_resource = owner && owner.class.element_name
|
11
13
|
owner_id = owner && owner.id
|
12
14
|
metafield = ::ShopifyAPI::Metafield.new(
|
13
15
|
{
|
14
|
-
owner_resource: owner_resource,
|
15
|
-
owner_id: owner_id,
|
16
16
|
namespace: opts[:namespace] || namespace,
|
17
17
|
key: opts[:key] || key,
|
18
18
|
value_type: 'string',
|
19
19
|
value: opts[:value] || value
|
20
20
|
}
|
21
21
|
)
|
22
|
+
unless owner.is_a?(::ShopifyAPI::Shop)
|
23
|
+
metafield.owner_resource = owner_resource
|
24
|
+
metafield.owner_id = owner_id
|
25
|
+
end
|
26
|
+
|
22
27
|
metafield.save! if owner_id
|
23
28
|
metafield
|
24
29
|
end
|
@@ -38,12 +43,51 @@ module Shopifydev
|
|
38
43
|
end
|
39
44
|
|
40
45
|
def key
|
41
|
-
|
46
|
+
k = ""
|
47
|
+
while((k = ::Faker::Lorem.word).length < 3);end
|
48
|
+
k.downcase
|
42
49
|
end
|
43
50
|
|
44
51
|
def value
|
45
|
-
::Faker::Lorem.sentence(rand(10))
|
52
|
+
::Faker::Lorem.sentence(rand(10) + 1)
|
46
53
|
end
|
47
54
|
|
55
|
+
def csv_value
|
56
|
+
value.gsub('"','').gsub(',', '')[0..-2]
|
57
|
+
end
|
58
|
+
|
59
|
+
def metafield_import_csv(resources, opts={})
|
60
|
+
opts[:import_type] ||= :product_variant_sku
|
61
|
+
opts[:num] ||= 1
|
62
|
+
opts[:namespace] ||= namespace
|
63
|
+
|
64
|
+
out = ""
|
65
|
+
|
66
|
+
case opts[:import_type]
|
67
|
+
when :owner_resource
|
68
|
+
when :product_handle
|
69
|
+
when :product_variant_sku
|
70
|
+
when :product_variant_multikey
|
71
|
+
out = %w{sku namespace}
|
72
|
+
out += opts[:keys]
|
73
|
+
out = out.join(',')
|
74
|
+
out << NL
|
75
|
+
|
76
|
+
resources.each do |resource|
|
77
|
+
line = [resource.sku, opts[:namespace]]
|
78
|
+
values = opts[:values]
|
79
|
+
values ||= [csv_value]
|
80
|
+
values = [values].flatten
|
81
|
+
while(values.length < opts[:num]); values << csv_value; end
|
82
|
+
line += values
|
83
|
+
out << line.join(',')
|
84
|
+
out << NL
|
85
|
+
end
|
86
|
+
else
|
87
|
+
raise "don't know how to create import csv for #{opts[:type].to_s}"
|
88
|
+
end
|
89
|
+
|
90
|
+
out
|
91
|
+
end
|
48
92
|
end
|
49
93
|
end
|
@@ -1,12 +1,8 @@
|
|
1
1
|
module Shopifydev
|
2
2
|
module ShopifyAPI
|
3
3
|
module DirtyCache
|
4
|
-
def dirty!
|
5
|
-
ShopifyAPI.dirty!
|
6
|
-
end
|
7
|
-
|
8
4
|
def site=(uri)
|
9
|
-
ShopifyAPI.dirty!
|
5
|
+
::ShopifyAPI.dirty!
|
10
6
|
super uri
|
11
7
|
end
|
12
8
|
end
|
@@ -15,7 +11,8 @@ end
|
|
15
11
|
|
16
12
|
module ShopifyAPI
|
17
13
|
class Base
|
18
|
-
include Shopifydev::ShopifyAPI::DirtyCache
|
14
|
+
puts "include Shopifydev::ShopifyAPI::DirtyCache"
|
15
|
+
extend Shopifydev::ShopifyAPI::DirtyCache
|
19
16
|
end
|
20
17
|
end
|
21
18
|
|
data/lib/shopifydev/version.rb
CHANGED
data/shopifydev.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shopifydev
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-07-
|
12
|
+
date: 2013-07-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: json
|
@@ -171,6 +171,22 @@ dependencies:
|
|
171
171
|
- - ! '>='
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: '0'
|
174
|
+
- !ruby/object:Gem::Dependency
|
175
|
+
name: shopify_unlimited
|
176
|
+
requirement: !ruby/object:Gem::Requirement
|
177
|
+
none: false
|
178
|
+
requirements:
|
179
|
+
- - ! '>='
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: '0'
|
182
|
+
type: :runtime
|
183
|
+
prerelease: false
|
184
|
+
version_requirements: !ruby/object:Gem::Requirement
|
185
|
+
none: false
|
186
|
+
requirements:
|
187
|
+
- - ! '>='
|
188
|
+
- !ruby/object:Gem::Version
|
189
|
+
version: '0'
|
174
190
|
- !ruby/object:Gem::Dependency
|
175
191
|
name: pry
|
176
192
|
requirement: !ruby/object:Gem::Requirement
|
@@ -304,7 +320,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
304
320
|
version: '0'
|
305
321
|
segments:
|
306
322
|
- 0
|
307
|
-
hash:
|
323
|
+
hash: 3004059551718716320
|
308
324
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
309
325
|
none: false
|
310
326
|
requirements:
|
@@ -313,7 +329,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
313
329
|
version: '0'
|
314
330
|
segments:
|
315
331
|
- 0
|
316
|
-
hash:
|
332
|
+
hash: 3004059551718716320
|
317
333
|
requirements: []
|
318
334
|
rubyforge_project:
|
319
335
|
rubygems_version: 1.8.25
|