pannier 0.2.0 → 0.3.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
  SHA1:
3
- metadata.gz: 8446bb452a6e9dac934bda3bea546d78a4522be0
4
- data.tar.gz: 33ffee121ef5394d3f21b5b83cda927ff71f9b56
3
+ metadata.gz: 73f6eeb9126643df23c6620c70188f9d5cc1ac3d
4
+ data.tar.gz: 1f32b050411a85102b150dc6a12d76e0719d86da
5
5
  SHA512:
6
- metadata.gz: 07a9fbfb6d7146d26ac14993f78813f978e768af192e0fd73b5fc938459407c4296803aa837af7b301cd817a3e43abd80bc38b86e49976bd5a53104b5f8cdd0c
7
- data.tar.gz: a3213222ce4ca0dfedf894e7b96e158355187a32d1cb1893d432a57665aade8b4988d7556a344ddea6c20aa1759d8e32532733ced8eb603618ec3139811c4aa8
6
+ metadata.gz: f1fb482e967a5112f6465eb2445e521b205901907a723c0606f5f452c1b28d31caa668e74402870f60f5e87eeba36a2a365de26f06bd5cd937988931f6cc698b
7
+ data.tar.gz: f3396f40dec19c4555ab9ece93bbc81f36599725b5b79e2a70b69cbd9076c3bdbd548659093481eef72bc4440db007e8b92770f218e9eaa72fa2ae468410b69b
@@ -2,6 +2,7 @@ require 'ostruct'
2
2
 
3
3
  require 'pannier/dsl'
4
4
  require 'pannier/environment'
5
+ require 'pannier/logger'
5
6
  require 'pannier/manifest_writer'
6
7
  require 'pannier/package'
7
8
 
@@ -25,6 +26,10 @@ module Pannier
25
26
  @output_path = File.expand_path(path)
26
27
  end
27
28
 
29
+ def set_logger(logger)
30
+ @logger = logger
31
+ end
32
+
28
33
  def add_package(package)
29
34
  @packages << package
30
35
  end
@@ -37,6 +42,16 @@ module Pannier
37
42
  @manifest_writer ||= ManifestWriter.new(self, @env)
38
43
  end
39
44
 
45
+ def log(messages, options = {})
46
+ return unless @logger
47
+ indent = options.fetch(:indent) { 0 }
48
+ messages = Array(messages)
49
+ messages.each do |msg|
50
+ indent.times { msg.prepend(' ') }
51
+ @logger.debug(msg)
52
+ end
53
+ end
54
+
40
55
  def process!
41
56
  @packages.each(&:process!)
42
57
  manifest_writer.write!(@input_path)
@@ -61,6 +76,10 @@ module Pannier
61
76
  set_output(path)
62
77
  end
63
78
 
79
+ def logger(logger = Pannier::Logger.new($stdout))
80
+ set_logger(logger)
81
+ end
82
+
64
83
  def behavior(name, &block)
65
84
  add_behavior(name, &block)
66
85
  end
@@ -0,0 +1,20 @@
1
+ require 'logger'
2
+
3
+ module Pannier
4
+ class Logger < ::Logger
5
+
6
+ def initialize(*args)
7
+ super
8
+ @formatter = _formatter
9
+ end
10
+
11
+ private
12
+
13
+ def _formatter
14
+ proc do |severity, time, progname, msg|
15
+ msg + "\n"
16
+ end
17
+ end
18
+
19
+ end
20
+ end
@@ -64,11 +64,13 @@ module Pannier
64
64
  end
65
65
 
66
66
  def process!
67
- copy!
68
- !@processors.empty? && @processors.each do |instructions|
69
- send(*instructions)
67
+ process_with_logs! do
68
+ copy!
69
+ !@processors.empty? && @processors.each do |instructions|
70
+ send(*instructions)
71
+ end
72
+ write_files!
70
73
  end
71
- write_files!
72
74
  end
73
75
 
74
76
  def modify!(modifier)
@@ -139,5 +141,19 @@ module Pannier
139
141
 
140
142
  end
141
143
 
144
+ private
145
+
146
+ def process_with_logs!(&block)
147
+ @app.log("Package #{name.inspect}", :indent => 2)
148
+ @app.log('-> Input', :indent => 4)
149
+ @app.log(@input_assets.map(&:path), :indent => 6)
150
+
151
+ block.call
152
+
153
+ @app.log('-> Output', :indent => 4)
154
+ @app.log(@output_assets.map(&:path), :indent => 6)
155
+ @app.log("\n")
156
+ end
157
+
142
158
  end
143
159
  end
@@ -1,3 +1,3 @@
1
1
  module Pannier
2
- VERSION = '0.2.0'
2
+ VERSION = '0.3.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pannier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joe Corcoran
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-03 00:00:00.000000000 Z
11
+ date: 2014-03-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rack
@@ -213,6 +213,7 @@ files:
213
213
  - lib/pannier/environment.rb
214
214
  - lib/pannier/errors.rb
215
215
  - lib/pannier/file_handler.rb
216
+ - lib/pannier/logger.rb
216
217
  - lib/pannier/manifest_writer.rb
217
218
  - lib/pannier/mounted.rb
218
219
  - lib/pannier/mounted/app.rb
@@ -242,7 +243,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
242
243
  version: '0'
243
244
  requirements: []
244
245
  rubyforge_project:
245
- rubygems_version: 2.2.0
246
+ rubygems_version: 2.2.1
246
247
  signing_key:
247
248
  specification_version: 4
248
249
  summary: A simple, portable asset processing tool for Ruby web apps