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 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