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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b3b793979f2d9f9e9c660aa4d3e174fb1c09726d
4
- data.tar.gz: a42ee27c1fd151a73c6345f9e49f50c0d2172ab3
3
+ metadata.gz: be56f5a0a4728e77c601391db05061c4029eb0f2
4
+ data.tar.gz: 3df40f954df3c4ef85b1250f003c1d2e2b4772fc
5
5
  SHA512:
6
- metadata.gz: 91155767ca0d7c66253b8e8773a9bce89185adb86e05755160a14dce417f3c182aaef329ff934235af4be4af681e028d5f4a8073ee3c6f3b6e023af7b422b420
7
- data.tar.gz: 5394c86eebfd7eac95e0c9c8fd3a0676cb3b0bd5f9a9f3279d4dd46141287e9ef5280963e6e5b8bae7ec1e91fe416696a838c623bc641c1ea3fd4ed3d365143e
6
+ metadata.gz: c83f492ced2ed8de9ccaa517c8673e702ea86b6dfd934e73dd759a3e5b2fbd38f976aa9c645150c21bde5c44cc8a8b723674631ada8d4728f01461e43ba6ea59
7
+ data.tar.gz: 942b58332982dc57969fbeea22a48843cd87564bd7de129f69498aec1db36e64e481b5fab532641bfff4b555cab084a5b5de58cde8af13fc9de90077e4d45f50
@@ -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
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module Nimbu
3
- VERSION = "0.5.9"
3
+ VERSION = "0.6"
4
4
  end
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.5.9
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-24 00:00:00.000000000 Z
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.4
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.4
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