nimbu 0.5.9 → 0.6
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 +4 -4
- data/lib/nimbu/command/themes.rb +46 -0
- data/lib/nimbu/version.rb +1 -1
- metadata +18 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: be56f5a0a4728e77c601391db05061c4029eb0f2
|
4
|
+
data.tar.gz: 3df40f954df3c4ef85b1250f003c1d2e2b4772fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c83f492ced2ed8de9ccaa517c8673e702ea86b6dfd934e73dd759a3e5b2fbd38f976aa9c645150c21bde5c44cc8a8b723674631ada8d4728f01461e43ba6ea59
|
7
|
+
data.tar.gz: 942b58332982dc57969fbeea22a48843cd87564bd7de129f69498aec1db36e64e481b5fab532641bfff4b555cab084a5b5de58cde8af13fc9de90077e4d45f50
|
data/lib/nimbu/command/themes.rb
CHANGED
@@ -65,6 +65,24 @@ class Nimbu::Command::Themes < Nimbu::Command::Base
|
|
65
65
|
end
|
66
66
|
end
|
67
67
|
|
68
|
+
# themes
|
69
|
+
#
|
70
|
+
# list available commands or display help for a specific command
|
71
|
+
#
|
72
|
+
def diff
|
73
|
+
require 'diffy'
|
74
|
+
@diff = {}
|
75
|
+
input = args.shift.downcase rescue nil
|
76
|
+
theme = if !input.to_s.strip.empty?
|
77
|
+
input.to_s.strip
|
78
|
+
else
|
79
|
+
Nimbu::Auth.theme
|
80
|
+
end
|
81
|
+
display "\nShowing differences between local and server\nlayouts, templates, snippets and assets for '#{theme.green.bold}':"
|
82
|
+
json = nimbu.themes(:subdomain => Nimbu::Auth.site).get(theme)
|
83
|
+
check_differences(json, theme, "layouts", "templates", "snippets")
|
84
|
+
end
|
85
|
+
|
68
86
|
# themes:push
|
69
87
|
#
|
70
88
|
# push all layouts, templates and assets
|
@@ -171,6 +189,34 @@ class Nimbu::Command::Themes < Nimbu::Command::Base
|
|
171
189
|
|
172
190
|
private
|
173
191
|
|
192
|
+
def check_differences(contents, theme, *types)
|
193
|
+
types.each do |type|
|
194
|
+
if contents[type].any?
|
195
|
+
print "\n\n#{type.capitalize}: ".bold
|
196
|
+
contents[type].each { |layout| compare(layout, theme, type) }
|
197
|
+
display "no differences found!" if @diff[type].nil?
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
def compare(data, theme, type)
|
203
|
+
file = "#{Dir.pwd}/#{type}/#{data["name"]}"
|
204
|
+
if File.exists?(file)
|
205
|
+
local = IO.read(file).force_encoding('UTF-8').to_s.gsub(/\r\n?/, "\n").strip
|
206
|
+
api = nimbu.themes(:subdomain => Nimbu::Auth.site)
|
207
|
+
json = api.send(type, :theme_id => theme).get(:"#{type[0..-2]}_id" => data['id'])
|
208
|
+
server = json["code"].to_s.force_encoding('UTF-8').gsub(/\r\n?/, "\n").strip
|
209
|
+
diff = Diffy::Diff.new(local, server, :include_diff_info => true, :context => 3).to_s(:color).strip
|
210
|
+
if diff != ""
|
211
|
+
print "\n - #{type}/#{data["name"]} has #{'changed'.yellow.bold }:\n\n#{diff}"
|
212
|
+
@diff[type] = true
|
213
|
+
end
|
214
|
+
else
|
215
|
+
@diff[type] = true
|
216
|
+
print "\n - #{type}/#{data["name"]} is #{'missing'.red.bold }"
|
217
|
+
end
|
218
|
+
end
|
219
|
+
|
174
220
|
def anyFileWithWord?(glob,word)
|
175
221
|
found = false
|
176
222
|
glob.each do |file|
|
data/lib/nimbu/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nimbu
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: '0.6'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Zenjoy BVBA
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-07-
|
11
|
+
date: 2013-07-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: term-ansicolor
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.1.
|
33
|
+
version: 0.1.5
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ~>
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.1.
|
40
|
+
version: 0.1.5
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rubyzip
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -192,6 +192,20 @@ dependencies:
|
|
192
192
|
- - ~>
|
193
193
|
- !ruby/object:Gem::Version
|
194
194
|
version: 1.7.7
|
195
|
+
- !ruby/object:Gem::Dependency
|
196
|
+
name: diffy
|
197
|
+
requirement: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - '>='
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
type: :runtime
|
203
|
+
prerelease: false
|
204
|
+
version_requirements: !ruby/object:Gem::Requirement
|
205
|
+
requirements:
|
206
|
+
- - '>='
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: '0'
|
195
209
|
- !ruby/object:Gem::Dependency
|
196
210
|
name: bundler
|
197
211
|
requirement: !ruby/object:Gem::Requirement
|