bootic_cli 0.4.8 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 55a78add4d79c5db970e4ad5df3b038fd6db6702c674cb60092c9d9f93bcf533
|
4
|
+
data.tar.gz: 120a782606574c1dd7d94b25112e033cb348fd6fb2889201bbfe1bf28cf55fde
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2a5a02b98f284912ce408de4cdcd141907e56f5b3e0b1741fbd60a42f3e32a0118e7635a82e9de57955f92ef1880ca7149d31c2c8d9b8b95c7f921382cedf5c1
|
7
|
+
data.tar.gz: 94ff56bc77d419c27886aef885ebcbaa93eed49d63b7eca8aa8a325c834ac6c3f05c99ab9811c481ed2e5b55e06dfea3c6072d76436027d3cce4745a8e9c6c5f
|
@@ -1,5 +1,6 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
2
|
require 'launchy'
|
3
|
+
require 'bootic_cli/themes/theme_diff'
|
3
4
|
require 'bootic_cli/themes/workflows'
|
4
5
|
require 'bootic_cli/themes/theme_selector'
|
5
6
|
|
@@ -37,6 +38,7 @@ module BooticCli
|
|
37
38
|
within_theme do
|
38
39
|
local_theme, remote_theme = theme_selector.select_theme_pair(default_subdomain, current_dir, options['public'])
|
39
40
|
workflows.pull(local_theme, remote_theme, delete: options['delete'] || true)
|
41
|
+
prompt.say "Done! Preview this theme at #{remote_theme.path}", :cyan
|
40
42
|
end
|
41
43
|
end
|
42
44
|
|
@@ -48,6 +50,7 @@ module BooticCli
|
|
48
50
|
local_theme, remote_theme = theme_selector.select_theme_pair(default_subdomain, current_dir, options['public'])
|
49
51
|
warn_user if remote_theme.public? and options['public'].nil?
|
50
52
|
workflows.push(local_theme, remote_theme, delete: options['delete'] || true)
|
53
|
+
prompt.say "Done! View updated version at #{remote_theme.path}", :cyan
|
51
54
|
end
|
52
55
|
end
|
53
56
|
|
@@ -58,6 +61,7 @@ module BooticCli
|
|
58
61
|
local_theme, remote_theme = theme_selector.select_theme_pair(default_subdomain, current_dir, options['public'])
|
59
62
|
warn_user if remote_theme.public? and options['public'].nil?
|
60
63
|
workflows.sync(local_theme, remote_theme)
|
64
|
+
prompt.say "Synced! Preview this theme at #{remote_theme.path}", :cyan
|
61
65
|
end
|
62
66
|
end
|
63
67
|
|
@@ -84,17 +88,31 @@ module BooticCli
|
|
84
88
|
def publish
|
85
89
|
within_theme do
|
86
90
|
local_theme, remote_theme = theme_selector.select_theme_pair(default_subdomain, current_dir)
|
91
|
+
|
87
92
|
if remote_theme.public?
|
88
93
|
say "You don't seem to have a development theme set up, so there's nothing to publish!", :red
|
89
94
|
else
|
90
|
-
|
91
|
-
|
95
|
+
|
96
|
+
# check if there are any differences between the dev and public themes
|
97
|
+
local_theme, public_theme = theme_selector.select_theme_pair(default_subdomain, current_dir, true)
|
98
|
+
diff = BooticCli::Themes::ThemeDiff.new(source: remote_theme, target: public_theme)
|
99
|
+
|
100
|
+
unless diff.any?
|
101
|
+
unless prompt.yes_or_no?("Your public and development themes seem to be in sync (no differences). Publish anyway?", false)
|
102
|
+
prompt.say "Okeysay. Bye."
|
103
|
+
exit 1
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
# say("Publishing means all your public theme's templates and assets will be replaced and lost.")
|
108
|
+
if prompt.yes_or_no?("Would you like to make a local copy of your current public theme before publishing?", diff.any?) # default to true if changes exist
|
92
109
|
|
93
110
|
backup_path = File.join(local_theme.path, "public-theme-backup-#{Time.now.to_i}")
|
94
|
-
backup_theme
|
111
|
+
backup_theme = theme_selector.select_local_theme(backup_path, local_theme.subdomain)
|
95
112
|
|
96
|
-
say("Gotcha. Backing up your public theme into #{backup_theme.path}")
|
113
|
+
say("Gotcha. Backing up your public theme into #{prompt.highlight(backup_theme.path)}")
|
97
114
|
workflows.pull(backup_theme, public_theme)
|
115
|
+
prompt.say "Done! Existing public theme was saved to #{prompt.highlight(File.basename(backup_theme.path))}", :cyan
|
98
116
|
end
|
99
117
|
|
100
118
|
workflows.publish(local_theme, remote_theme)
|
@@ -34,7 +34,7 @@ module BooticCli
|
|
34
34
|
end
|
35
35
|
|
36
36
|
def select_theme_pair(subdomain, dir, production = false)
|
37
|
-
local_theme = select_local_theme(dir)
|
37
|
+
local_theme = select_local_theme(dir, subdomain)
|
38
38
|
shop = find_remote_shop(local_theme.subdomain)
|
39
39
|
raise "No shop with subdomain #{local_theme.subdomain}" unless shop
|
40
40
|
remote_theme = select_remote_theme(shop, production)
|
@@ -56,8 +56,6 @@ module BooticCli
|
|
56
56
|
copy_templates(diff.missing_in_source, local_theme, download_opts)
|
57
57
|
# lets copy all of them and let user decide to overwrite existing
|
58
58
|
copy_assets(remote_theme, local_theme, download_opts)
|
59
|
-
|
60
|
-
prompt.say "Done! Preview this theme at #{remote_theme.path}", :cyan
|
61
59
|
end
|
62
60
|
|
63
61
|
def push(local_theme, remote_theme, delete: true)
|
@@ -82,8 +80,6 @@ module BooticCli
|
|
82
80
|
else
|
83
81
|
notice 'Not removing remote files that were removed locally.'
|
84
82
|
end
|
85
|
-
|
86
|
-
prompt.say "Done! View updated version at #{remote_theme.path}", :cyan
|
87
83
|
end
|
88
84
|
|
89
85
|
def sync(local_theme, remote_theme)
|
@@ -116,8 +112,6 @@ module BooticCli
|
|
116
112
|
notice 'Uploading missing remote templates & assets...'
|
117
113
|
copy_templates(diff.missing_in_target, remote_theme, download_opts)
|
118
114
|
copy_assets(diff.missing_in_target, remote_theme, download_opts)
|
119
|
-
|
120
|
-
prompt.say "Synced! Preview this theme at #{remote_theme.path}", :cyan
|
121
115
|
end
|
122
116
|
|
123
117
|
def compare(local_theme, remote_theme)
|
@@ -221,8 +215,8 @@ module BooticCli
|
|
221
215
|
end
|
222
216
|
|
223
217
|
prompt.notice "Alrighty! Publishing your development theme..."
|
224
|
-
remote_theme.publish # syncs dev to public, without flipping them
|
225
|
-
prompt.notice "Yay! Your development theme has been made public. Take a look at #{remote_theme.path}"
|
218
|
+
updated_theme = remote_theme.publish # syncs dev to public, without flipping them
|
219
|
+
prompt.notice "Yay! Your development theme has been made public. Take a look at #{remote_theme.path.sub('/preview/dev', '')}"
|
226
220
|
end
|
227
221
|
|
228
222
|
private
|
data/lib/bootic_cli/version.rb
CHANGED