pannier 0.3.0 → 0.4.0
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 +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
|