jsrequire 0.1.0 → 0.1.1

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/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