nimbu 0.5.9 → 0.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|