pannier 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/pannier/app.rb +4 -9
- data/lib/pannier/cli.rb +20 -5
- data/lib/pannier/logger.rb +3 -9
- data/lib/pannier/logger/package_logger.rb +36 -0
- data/lib/pannier/manifest_writer.rb +5 -0
- data/lib/pannier/package.rb +12 -16
- data/lib/pannier/version.rb +1 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 26de5e4810d23907a4665742c191d1e9be933e0c
|
4
|
+
data.tar.gz: ea743f7ab6f193646789cc8123ff4ea923f6025d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5dffb59f31f6f4bd5991bfe3e8b99d94bd8199e47f580b124c351c7241a31a1ed7e7f913225031f996076006c8addfa4b09823439fcdedd7f0ab89d7dd55f26
|
7
|
+
data.tar.gz: deb929cceb6d85f0a97ea279746957c8e6cd3483e06b99462a61100426e71f0c6e270488ca34cc1c034a8ef3472e42f89898aecb4541c4fc85aa1774c4392c7c
|
data/lib/pannier/app.rb
CHANGED
@@ -11,7 +11,7 @@ module Pannier
|
|
11
11
|
extend DSL
|
12
12
|
|
13
13
|
attr_reader :env, :input_path, :output_path,
|
14
|
-
:behaviors, :packages
|
14
|
+
:behaviors, :packages, :logger
|
15
15
|
|
16
16
|
def initialize(env_name = 'development')
|
17
17
|
@env = Environment.new(env_name)
|
@@ -42,14 +42,9 @@ module Pannier
|
|
42
42
|
@manifest_writer ||= ManifestWriter.new(self, @env)
|
43
43
|
end
|
44
44
|
|
45
|
-
def
|
46
|
-
|
47
|
-
|
48
|
-
messages = Array(messages)
|
49
|
-
messages.each do |msg|
|
50
|
-
indent.times { msg.prepend(' ') }
|
51
|
-
@logger.debug(msg)
|
52
|
-
end
|
45
|
+
def clobber!
|
46
|
+
manifest_writer.clobber!(@input_path)
|
47
|
+
@packages.each(&:clobber!)
|
53
48
|
end
|
54
49
|
|
55
50
|
def process!
|
data/lib/pannier/cli.rb
CHANGED
@@ -13,6 +13,18 @@ module Pannier
|
|
13
13
|
public_send(command, *opts)
|
14
14
|
end
|
15
15
|
|
16
|
+
def clobber(*opts)
|
17
|
+
opts = Slop.parse(opts, :help => true, :ignore_case => true) do
|
18
|
+
banner 'Usage: pannier clobber [options]'
|
19
|
+
on :c, :config, 'Config file', :argument => :optional, :default => '.assets.rb'
|
20
|
+
on :e, :env, 'Host environment', :argument => :optional, :default => 'development'
|
21
|
+
end
|
22
|
+
|
23
|
+
app = load_app(opts)
|
24
|
+
app.clobber!
|
25
|
+
exit
|
26
|
+
end
|
27
|
+
|
16
28
|
def process(*opts)
|
17
29
|
opts = Slop.parse(opts, :help => true, :ignore_case => true) do
|
18
30
|
banner 'Usage: pannier process [options]'
|
@@ -21,11 +33,7 @@ module Pannier
|
|
21
33
|
on :a, :assets, 'Asset paths', :argument => :optional, :as => Array
|
22
34
|
end
|
23
35
|
|
24
|
-
|
25
|
-
err(no_config_msg(config_path)) && abort unless File.exists?(config_path)
|
26
|
-
|
27
|
-
app = Pannier.load(config_path, opts[:env])
|
28
|
-
|
36
|
+
app = load_app(opts)
|
29
37
|
if opts.assets?
|
30
38
|
paths = opts[:assets].map { |path| File.expand_path(path) }
|
31
39
|
app.process_owners!(*paths)
|
@@ -50,6 +58,12 @@ module Pannier
|
|
50
58
|
|
51
59
|
private
|
52
60
|
|
61
|
+
def load_app(opts)
|
62
|
+
config_path = File.expand_path(opts[:config])
|
63
|
+
err(no_config_msg(config_path)) && abort unless File.exists?(config_path)
|
64
|
+
Pannier.load(config_path, opts[:env])
|
65
|
+
end
|
66
|
+
|
53
67
|
def no_config_msg(path)
|
54
68
|
<<-txt
|
55
69
|
Pannier config file not found at #{path}.
|
@@ -59,6 +73,7 @@ module Pannier
|
|
59
73
|
def usage_msg
|
60
74
|
<<-txt
|
61
75
|
Available commands (run any command with --help for details):
|
76
|
+
pannier clobber Remove processed assets
|
62
77
|
pannier process Process assets
|
63
78
|
pannier usage Show this list of commands
|
64
79
|
txt
|
data/lib/pannier/logger.rb
CHANGED
@@ -5,16 +5,10 @@ module Pannier
|
|
5
5
|
|
6
6
|
def initialize(*args)
|
7
7
|
super
|
8
|
-
@formatter =
|
9
|
-
|
10
|
-
|
11
|
-
private
|
12
|
-
|
13
|
-
def _formatter
|
14
|
-
proc do |severity, time, progname, msg|
|
15
|
-
msg + "\n"
|
16
|
-
end
|
8
|
+
@formatter = ->(_, _, _, message) do
|
9
|
+
message + "\n"
|
17
10
|
end
|
11
|
+
end
|
18
12
|
|
19
13
|
end
|
20
14
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Pannier
|
2
|
+
class Logger
|
3
|
+
class PackageLogger
|
4
|
+
|
5
|
+
def initialize(logger, package)
|
6
|
+
@logger, @package = logger, package
|
7
|
+
end
|
8
|
+
|
9
|
+
def wrap(&block)
|
10
|
+
log_input!
|
11
|
+
block.call
|
12
|
+
log_output!
|
13
|
+
end
|
14
|
+
|
15
|
+
def log!(messages, indent = 0)
|
16
|
+
return unless @logger
|
17
|
+
Array(messages).each do |msg|
|
18
|
+
indent.times { msg.prepend(' ') }
|
19
|
+
@logger.info(msg)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def log_input!
|
24
|
+
log!("Package #{@package.name.inspect}")
|
25
|
+
log!('Input ->', 2)
|
26
|
+
log!(@package.input_assets.map(&:path), 4)
|
27
|
+
end
|
28
|
+
|
29
|
+
def log_output!
|
30
|
+
log!('Output ->', 2)
|
31
|
+
log!(@package.output_assets.map(&:path), 4)
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
data/lib/pannier/package.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'fileutils'
|
1
2
|
require 'ostruct'
|
2
3
|
require 'pathname'
|
3
4
|
require 'set'
|
@@ -6,6 +7,7 @@ require 'pannier/asset'
|
|
6
7
|
require 'pannier/concatenator'
|
7
8
|
require 'pannier/dsl'
|
8
9
|
require 'pannier/errors'
|
10
|
+
require 'pannier/logger/package_logger'
|
9
11
|
|
10
12
|
module Pannier
|
11
13
|
class Package
|
@@ -63,8 +65,17 @@ module Pannier
|
|
63
65
|
@input_assets.any? { |a| paths.include?(a.path) }
|
64
66
|
end
|
65
67
|
|
68
|
+
def package_logger
|
69
|
+
@package_logger ||= Logger::PackageLogger.new(@app.logger, self)
|
70
|
+
end
|
71
|
+
|
72
|
+
def clobber!
|
73
|
+
copy!
|
74
|
+
FileUtils.rm_f(@output_assets.map(&:path))
|
75
|
+
end
|
76
|
+
|
66
77
|
def process!
|
67
|
-
|
78
|
+
package_logger.wrap do
|
68
79
|
copy!
|
69
80
|
!@processors.empty? && @processors.each do |instructions|
|
70
81
|
send(*instructions)
|
@@ -140,20 +151,5 @@ module Pannier
|
|
140
151
|
end
|
141
152
|
|
142
153
|
end
|
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
|
-
|
158
154
|
end
|
159
155
|
end
|
data/lib/pannier/version.rb
CHANGED
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.
|
4
|
+
version: 0.4.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-
|
11
|
+
date: 2014-04-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rack
|
@@ -116,7 +116,7 @@ dependencies:
|
|
116
116
|
requirements:
|
117
117
|
- - "~>"
|
118
118
|
- !ruby/object:Gem::Version
|
119
|
-
version: '0
|
119
|
+
version: '1.0'
|
120
120
|
- - ">="
|
121
121
|
- !ruby/object:Gem::Version
|
122
122
|
version: 0.14.0
|
@@ -126,7 +126,7 @@ dependencies:
|
|
126
126
|
requirements:
|
127
127
|
- - "~>"
|
128
128
|
- !ruby/object:Gem::Version
|
129
|
-
version: '0
|
129
|
+
version: '1.0'
|
130
130
|
- - ">="
|
131
131
|
- !ruby/object:Gem::Version
|
132
132
|
version: 0.14.0
|
@@ -214,6 +214,7 @@ files:
|
|
214
214
|
- lib/pannier/errors.rb
|
215
215
|
- lib/pannier/file_handler.rb
|
216
216
|
- lib/pannier/logger.rb
|
217
|
+
- lib/pannier/logger/package_logger.rb
|
217
218
|
- lib/pannier/manifest_writer.rb
|
218
219
|
- lib/pannier/mounted.rb
|
219
220
|
- lib/pannier/mounted/app.rb
|