bunch 0.0.2 → 0.0.3
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.
- data/lib/bunch.rb +13 -0
- data/lib/bunch/cli.rb +5 -0
- data/lib/bunch/coffee_node.rb +4 -1
- data/lib/bunch/rack.rb +14 -7
- data/lib/bunch/sass_node.rb +4 -1
- data/lib/bunch/version.rb +1 -1
- metadata +6 -6
data/lib/bunch.rb
CHANGED
@@ -24,6 +24,8 @@ end
|
|
24
24
|
class << Bunch
|
25
25
|
def Tree(fn)
|
26
26
|
case
|
27
|
+
when !File.exist?(fn)
|
28
|
+
raise Errno::ENOENT, fn
|
27
29
|
when File.directory?(fn)
|
28
30
|
Bunch::DirectoryNode.new(fn)
|
29
31
|
when fn =~ /\.coffee$/
|
@@ -35,3 +37,14 @@ class << Bunch
|
|
35
37
|
end
|
36
38
|
end
|
37
39
|
end
|
40
|
+
|
41
|
+
#class Module
|
42
|
+
# def benchmark(meth)
|
43
|
+
# alias_method "#{meth}_old", meth
|
44
|
+
# define_method meth do |*args, &blk|
|
45
|
+
# t = Time.now
|
46
|
+
# send "#{meth}_old", *args, &blk
|
47
|
+
# STDERR.puts "Called #{meth} in #{Time.now - t}."
|
48
|
+
# end
|
49
|
+
# end
|
50
|
+
#end
|
data/lib/bunch/cli.rb
CHANGED
@@ -5,6 +5,10 @@ module Bunch
|
|
5
5
|
@output = output ? Pathname.new(output) : nil
|
6
6
|
@opts = opts
|
7
7
|
|
8
|
+
if @opts[:profile]
|
9
|
+
require 'profile'
|
10
|
+
end
|
11
|
+
|
8
12
|
if @opts[:server]
|
9
13
|
run_server
|
10
14
|
else
|
@@ -56,6 +60,7 @@ module Bunch
|
|
56
60
|
on :s, :server, 'Instead of creating files, use WEBrick to serve files from INPUT_PATH'
|
57
61
|
on :i, :individual, 'Create one output file for each file or directory in the input path (default)', :default => true
|
58
62
|
on :a, :all, 'Create an all.[extension] file combining all inputs'
|
63
|
+
on :p, :profile
|
59
64
|
on :h, :help, 'Show this message' do
|
60
65
|
puts self
|
61
66
|
exit
|
data/lib/bunch/coffee_node.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
module Bunch
|
2
2
|
class CoffeeNode
|
3
3
|
def initialize(fn)
|
4
|
-
|
4
|
+
unless defined?(@@coffee_required)
|
5
|
+
require 'coffee-script'
|
6
|
+
@@coffee_required = true
|
7
|
+
end
|
5
8
|
@filename = fn
|
6
9
|
rescue LoadError
|
7
10
|
raise "'gem install coffee-script' to compile .coffee files."
|
data/lib/bunch/rack.rb
CHANGED
@@ -15,17 +15,24 @@ module Bunch
|
|
15
15
|
|
16
16
|
private
|
17
17
|
def generate(path)
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
18
|
+
case
|
19
|
+
when File.exist?(path)
|
20
|
+
contents(path)
|
21
|
+
when File.exist?(chopped_path = path.sub(%r(\.[^.]*$), ''))
|
22
|
+
contents(chopped_path)
|
23
|
+
when File.basename(path).start_with?('all.')
|
24
|
+
contents(File.dirname(path))
|
25
|
+
when (path_w_different_extension = Dir["#{chopped_path}.*"].first)
|
26
|
+
contents(path_w_different_extension)
|
24
27
|
else
|
25
|
-
raise Errno::ENOENT, path
|
28
|
+
raise Errno::ENOENT, path.to_s
|
26
29
|
end
|
27
30
|
end
|
28
31
|
|
32
|
+
def contents(path)
|
33
|
+
Bunch::Tree(path.to_s).contents
|
34
|
+
end
|
35
|
+
|
29
36
|
def error_log(e)
|
30
37
|
"#{e.class}: #{e.message}\n #{e.backtrace.join("\n ")}"
|
31
38
|
end
|
data/lib/bunch/sass_node.rb
CHANGED
data/lib/bunch/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bunch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-01-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mime-types
|
16
|
-
requirement: &
|
16
|
+
requirement: &70173831338560 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70173831338560
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: slop
|
27
|
-
requirement: &
|
27
|
+
requirement: &70173831338140 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70173831338140
|
36
36
|
description: Directory-structure-based asset bundling.
|
37
37
|
email:
|
38
38
|
- rfitz@academia.edu
|