jsrequire 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/README.mkd CHANGED
@@ -18,7 +18,7 @@ A JavaScript file
18
18
 
19
19
  On top of a file add something like:
20
20
 
21
- /* require foo/bar */
21
+ /* js foo/bar */
22
22
  /* css baz */
23
23
 
24
24
  This requires the js file foo/bar.js and the stylesheet baz.css. Dependencies are resolved in right order of require statments over all files.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
data/jsrequire.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{jsrequire}
8
- s.version = "0.1.0"
8
+ s.version = "0.1.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["aekym"]
12
- s.date = %q{2010-05-07}
12
+ s.date = %q{2010-05-26}
13
13
  s.description = %q{Organizes requirements of assets in JavaScript files, resolved dependencies of js files and helps include depending css files.}
14
14
  s.email = %q{me@aekym.com}
15
15
  s.extra_rdoc_files = [
data/lib/jsrequire.rb CHANGED
@@ -13,6 +13,8 @@ class JsRequire
13
13
  @additional_loadpaths = JsRequire::normalize_filepaths(loadpaths.compact)
14
14
 
15
15
  @preprocessors = Hash.new { |h,k| h[k] = [] }
16
+
17
+ on("css", &method(:collect_css))
16
18
  end
17
19
 
18
20
 
@@ -21,6 +23,12 @@ class JsRequire
21
23
  end
22
24
 
23
25
 
26
+ def collect_css(action, param)
27
+ @css << param + ".css"
28
+ nil
29
+ end
30
+
31
+
24
32
  # resolve dependencies of js input files
25
33
  #
26
34
  # returns a hash with js and css dependencies
@@ -37,14 +45,14 @@ class JsRequire
37
45
  # }
38
46
  #
39
47
  def resolve_dependencies(files)
40
- @stylesheets = Hash.new { |h,k| h[k] = [] }
48
+ @css = []
41
49
  @extract_loadpaths = extract_loadpaths(files)
42
50
 
43
51
  js = extract_dependencies_recursive(JsRequire::normalize_filepaths(files))
44
52
 
45
53
  {
46
54
  :javascripts => js,
47
- :stylesheets => @stylesheets.map { |k,v| v }.flatten.uniq.sort
55
+ :stylesheets => @css.uniq.sort
48
56
  }
49
57
  end
50
58
 
@@ -170,8 +178,7 @@ class JsRequire
170
178
  action, parameter = exec_preprocessor(action, parameter)
171
179
 
172
180
  case action
173
- when "require" then js << "#{parameter}.js"
174
- when "css" then @stylesheets[filename] << parameter + ".css"
181
+ when "js" then js << "#{parameter}.js"
175
182
  end
176
183
  else
177
184
  is_require = false
@@ -198,6 +205,5 @@ class JsRequire
198
205
  js
199
206
  end
200
207
 
201
-
202
208
  end
203
209
 
@@ -1,2 +1,2 @@
1
- /* require norequire */
1
+ /* js norequire */
2
2
 
@@ -1,2 +1,2 @@
1
- /* require b */
1
+ /* js b */
2
2
 
@@ -1,3 +1,3 @@
1
- /* require a */
2
- /* require b */
1
+ /* js a */
2
+ /* js b */
3
3
 
@@ -1 +1 @@
1
- /* require file.with.dot */
1
+ /* js file.with.dot */
@@ -1 +1 @@
1
- /* require namespace.json_reader */
1
+ /* js namespace.json_reader */
@@ -1,3 +1,3 @@
1
- /* require namespace.a */
1
+ /* js namespace.a */
2
2
 
3
3
 
@@ -1,2 +1,2 @@
1
- /* require afileyouwillneverfind */
1
+ /* js afileyouwillneverfind */
2
2
 
data/test/test_hooks.rb CHANGED
@@ -67,12 +67,12 @@ class TestHooks < Test::Unit::TestCase
67
67
  assert general_called && specific_called, "Callbacks were not called"
68
68
  end
69
69
 
70
- should "rewrite line to require" do
70
+ should "rewrite line to js-action" do
71
71
  called = false
72
72
  deps = require("hook.js") do
73
73
  @jsrequire.on("view") do |action, params|
74
74
  called = true
75
- ["require", "norequire"]
75
+ ["js", "norequire"]
76
76
  end
77
77
  end
78
78
 
@@ -81,18 +81,18 @@ class TestHooks < Test::Unit::TestCase
81
81
  assert_match /norequire\.js$/, deps[:javascripts].first
82
82
  end
83
83
 
84
- should "rewrite line to require" do
84
+ should "skip required view because hook drops it" do
85
85
  called = false
86
86
  deps = require("hook.js") do
87
87
  @jsrequire.on("view") do |action, params|
88
88
  called = true
89
- ["require", "norequire"]
89
+ nil
90
90
  end
91
91
  end
92
92
 
93
93
  assert called, "Callback not fired"
94
- assert_equal 2, deps[:javascripts].size
95
- assert_match /norequire\.js$/, deps[:javascripts].first
94
+ assert_equal 1, deps[:javascripts].size
95
+ assert_match /hook\.js$/, deps[:javascripts].first
96
96
  end
97
97
 
98
98
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - aekym
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-05-07 00:00:00 +02:00
17
+ date: 2010-05-26 00:00:00 +02:00
18
18
  default_executable:
19
19
  dependencies: []
20
20