Class: ShopifyTheme::Cli
- Inherits:
-
Thor
- Object
- Thor
- ShopifyTheme::Cli
- Includes:
- Thor::Actions
- Defined in:
- lib/shopify_theme/cli.rb
Constant Summary collapse
- BINARY_EXTENSIONS =
%w(png gif jpg jpeg eot svg ttf woff swf)
- IGNORE =
%w(config.yml)
Instance Method Summary collapse
- #configure(api_key = nil, password = nil, store = nil, theme_id = nil) ⇒ Object
- #download(*keys) ⇒ Object
- #remove(*keys) ⇒ Object
- #replace(*keys) ⇒ Object
- #upload(*keys) ⇒ Object
- #watch ⇒ Object
Instance Method Details
#configure(api_key = nil, password = nil, store = nil, theme_id = nil) ⇒ Object
22 23 24 25 |
# File 'lib/shopify_theme/cli.rb', line 22 def configure(api_key=nil, password=nil, store=nil, theme_id=nil) config = {:api_key => api_key, :password => password, :store => store, :theme_id => theme_id, :ignore_files => ["README"]} create_file('config.yml', config.to_yaml) end |
#download(*keys) ⇒ Object
29 30 31 32 33 34 35 36 37 |
# File 'lib/shopify_theme/cli.rb', line 29 def download(*keys) assets = keys.empty? ? ShopifyTheme.asset_list : keys assets.each do |asset| download_asset(asset) say("Downloaded: #{asset}", :green) unless ['quiet'] end say("Done.", :green) unless ['quiet'] end |
#remove(*keys) ⇒ Object
68 69 70 71 72 73 |
# File 'lib/shopify_theme/cli.rb', line 68 def remove(*keys) keys.each do |key| delete_asset(key, ['quiet']) end say("Done.", :green) unless ['quiet'] end |
#replace(*keys) ⇒ Object
51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/shopify_theme/cli.rb', line 51 def replace(*keys) say("Are you sure you want to completely replace your shop theme assets? This is not undoable.", :yellow) if ask("Continue? (Y/N): ") == "Y" remote_assets = keys.empty? ? ShopifyTheme.asset_list : keys remote_assets.each do |asset| delete_asset(asset, ['quiet']) end local_assets = keys.empty? ? local_assets_list : keys local_assets.each do |asset| send_asset(asset, ['quiet']) end say("Done.", :green) unless ['quiet'] end end |
#upload(*keys) ⇒ Object
41 42 43 44 45 46 47 |
# File 'lib/shopify_theme/cli.rb', line 41 def upload(*keys) assets = keys.empty? ? local_assets_list : keys assets.each do |asset| send_asset(asset, ['quiet']) end say("Done.", :green) unless ['quiet'] end |
#watch ⇒ Object
78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
# File 'lib/shopify_theme/cli.rb', line 78 def watch puts "Watching current folder:" Listen.to('',:relative_paths => true) do |modified, added, removed| modified.each do |filePath| send_asset(filePath, ['quiet']) if local_assets_list.include?(filePath) end added.each do |filePath| send_asset(filePath, ['quiet']) if local_assets_list.include?(filePath) end if !['keep_files'] removed.each do |filePath| delete_asset(filePath, ['quiet']) if local_assets_list.include?(relative) end end end end |