shopify_theme 0.0.6 → 0.0.7

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/README.md CHANGED
@@ -1,12 +1,16 @@
1
+ # Requirements
2
+
3
+ Ruby 1.9
4
+
1
5
  # Installation
2
6
 
3
7
  ````
4
- gem install shopify_theme
8
+ gem install shopify_theme [optional_theme_id]
5
9
  ````
6
10
 
7
11
  # Usage
8
12
 
9
- Generate the config file. Go get a valid api_key and password for your store head to https://[your store].myshopify.com/admin/api and generate a private application.
13
+ Generate the config file. Go get a valid api_key and password for your store head to https://[your store].myshopify.com/admin/api and generate a private application. Default it adds the main theme, if you want to edit one of your other themes, add the theme_id.
10
14
 
11
15
  ````
12
16
  theme configure api_key password store_url
@@ -1,10 +1,11 @@
1
1
  require 'thor'
2
2
  require 'yaml'
3
+ YAML::ENGINE.yamler = 'syck'
3
4
  require 'abbrev'
4
5
  require 'base64'
5
6
  require 'fileutils'
6
7
  require 'json'
7
- require 'fssm'
8
+ require 'listen'
8
9
 
9
10
  module ShopifyTheme
10
11
  class Cli < Thor
@@ -17,9 +18,9 @@ module ShopifyTheme
17
18
  map shortcut => command.to_sym
18
19
  end
19
20
 
20
- desc "configure API_KEY PASSWORD STORE", "generate a config file for the store to connect to"
21
- def configure(api_key=nil, password=nil, store=nil)
22
- config = {:api_key => api_key, :password => password, :store => store, :theme_id => nil, :ignore_files => ["README"]}
21
+ desc "configure API_KEY PASSWORD STORE THEME_ID", "generate a config file for the store to connect to"
22
+ def configure(api_key=nil, password=nil, store=nil, theme_id=nil)
23
+ config = {:api_key => api_key, :password => password, :store => store, :theme_id => theme_id, :ignore_files => ["README"]}
23
24
  create_file('config.yml', config.to_yaml)
24
25
  end
25
26
 
@@ -48,25 +49,25 @@ module ShopifyTheme
48
49
  desc "replace FILE", "completely replace shop theme assets with local theme assets"
49
50
  method_option :quiet, :type => :boolean, :default => false
50
51
  def replace(*keys)
51
- say("Are you sure you want to completely replace your shop theme assets? This is not undoable.", :yellow)
52
- if ask("Continue? (Y/N): ") == "Y"
53
- remote_assets = keys.empty? ? ShopifyTheme.asset_list : keys
54
- remote_assets.each do |asset|
55
- delete_asset(asset, options['quiet'])
56
- end
57
- local_assets = keys.empty? ? local_assets_list : keys
58
- local_assets.each do |asset|
59
- send_asset(asset, options['quiet'])
60
- end
61
- say("Done.", :green) unless options['quiet']
62
- end
52
+ say("Are you sure you want to completely replace your shop theme assets? This is not undoable.", :yellow)
53
+ if ask("Continue? (Y/N): ") == "Y"
54
+ remote_assets = keys.empty? ? ShopifyTheme.asset_list : keys
55
+ remote_assets.each do |asset|
56
+ delete_asset(asset, options['quiet'])
57
+ end
58
+ local_assets = keys.empty? ? local_assets_list : keys
59
+ local_assets.each do |asset|
60
+ send_asset(asset, options['quiet'])
61
+ end
62
+ say("Done.", :green) unless options['quiet']
63
+ end
63
64
  end
64
65
 
65
66
  desc "remove FILE", "remove theme asset"
66
67
  method_option :quiet, :type => :boolean, :default => false
67
68
  def remove(*keys)
68
69
  keys.each do |key|
69
- delete_asset(key, options['quiet'])
70
+ delete_asset(key, options['quiet'])
70
71
  end
71
72
  say("Done.", :green) unless options['quiet']
72
73
  end
@@ -75,18 +76,19 @@ module ShopifyTheme
75
76
  method_option :quiet, :type => :boolean, :default => false
76
77
  method_option :keep_files, :type => :boolean, :default => false
77
78
  def watch
78
- FSSM.monitor '.' do |m|
79
- m.update do |base, relative|
80
- send_asset(relative, options['quiet']) if local_assets_list.include?(relative)
79
+ puts "Watching current folder:"
80
+ Listen.to('',:relative_paths => true) do |modified, added, removed|
81
+ modified.each do |filePath|
82
+ send_asset(filePath, options['quiet']) if local_assets_list.include?(filePath)
81
83
  end
82
- m.create do |base, relative|
83
- send_asset(relative, options['quiet']) if local_assets_list.include?(relative)
84
+ added.each do |filePath|
85
+ send_asset(filePath, options['quiet']) if local_assets_list.include?(filePath)
84
86
  end
85
87
  if !options['keep_files']
86
- m.delete do |base, relative|
87
- delete_asset(relative, options['quiet']) if local_assets_list.include?(relative)
88
- end
89
- end
88
+ removed.each do |filePath|
89
+ delete_asset(filePath, options['quiet']) if local_assets_list.include?(relative)
90
+ end
91
+ end
90
92
  end
91
93
  end
92
94
 
@@ -1,3 +1,3 @@
1
1
  module ShopifyTheme
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -14,9 +14,9 @@ Gem::Specification.new do |s|
14
14
 
15
15
  s.rubyforge_project = "shopify_theme"
16
16
  s.add_dependency("thor", [">= 0.14.4"])
17
- s.add_dependency("httparty", ["= 0.7.8"])
17
+ s.add_dependency("httparty", [">= 0.8.0"])
18
18
  s.add_dependency("json")
19
- s.add_dependency("fssm")
19
+ s.add_dependency("listen")
20
20
 
21
21
  s.files = `git ls-files`.split("\n")
22
22
  s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shopify_theme
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-13 00:00:00.000000000 Z
12
+ date: 2012-10-05 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
16
- requirement: &70240424766980 !ruby/object:Gem::Requirement
16
+ requirement: &70203650189020 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,21 +21,21 @@ dependencies:
21
21
  version: 0.14.4
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70240424766980
24
+ version_requirements: *70203650189020
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: httparty
27
- requirement: &70240424766460 !ruby/object:Gem::Requirement
27
+ requirement: &70203650188460 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
- - - =
30
+ - - ! '>='
31
31
  - !ruby/object:Gem::Version
32
- version: 0.7.8
32
+ version: 0.8.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70240424766460
35
+ version_requirements: *70203650188460
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: json
38
- requirement: &70240424766080 !ruby/object:Gem::Requirement
38
+ requirement: &70203650188060 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70240424766080
46
+ version_requirements: *70203650188060
47
47
  - !ruby/object:Gem::Dependency
48
- name: fssm
49
- requirement: &70240424765620 !ruby/object:Gem::Requirement
48
+ name: listen
49
+ requirement: &70203650187580 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *70240424765620
57
+ version_requirements: *70203650187580
58
58
  description: Command line tool to help with developing Shopify themes. Provides simple
59
59
  commands to download, upload and delete files from a theme. Also includes the watch
60
60
  command to watch a directory and upload files as they change.