requirejs-rails 0.5.0 → 0.5.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/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- requirejs-rails (0.5.0)
4
+ requirejs-rails (0.5.1)
5
5
  railties (~> 3.1.1)
6
6
 
7
7
  GEM
data/README.md CHANGED
@@ -14,7 +14,7 @@ Integrates [RequireJS](http://requirejs.org/) into the Rails 3 Asset Pipeline.
14
14
 
15
15
  2. Remove all Sprockets directives such as `//= require jquery` from `application.js` and elsewhere. Instead establish JavaScript dependencies using AMD-style `define()` and `require()` calls.
16
16
 
17
- 3. Use `requirejs_include_tag` at the top-level of your app's layout(s). `javascript_include_tag` should be used to reference your top-level JavaScript modules. Other modules will be pulled in dynamically by `require.js` in development and by `r.js` for optimized production builds. Here's a basic `app/views/layouts/application.html.erb` modified for `requirejs-rails`:
17
+ 3. Use `requirejs_include_tag` at the top-level of your app's layout(s). Other modules will be pulled in dynamically by `require.js` in development and for production builds optimized by `r.js`. Here's a basic `app/views/layouts/application.html.erb` modified for `requirejs-rails`:
18
18
 
19
19
  ```erb
20
20
  <!DOCTYPE html>
@@ -22,8 +22,7 @@ Integrates [RequireJS](http://requirejs.org/) into the Rails 3 Asset Pipeline.
22
22
  <head>
23
23
  <title>Frobnitz Online</title>
24
24
  <%= stylesheet_link_tag "application" %>
25
- <%= requirejs_include_tag %>
26
- <%= javascript_include_tag "application" %>
25
+ <%= requirejs_include_tag "application" %>
27
26
  <%= csrf_meta_tags %>
28
27
  <meta charset="utf-8">
29
28
  </head>
@@ -122,6 +121,16 @@ Underscore version 1.2.2 or later has integrated AMD support. Get it from [Unde
122
121
 
123
122
  Usage changes that impact folks upgrading along the 0.x series are documented here.
124
123
 
124
+ ### v0.5.1
125
+
126
+ - `requirejs_include_tag` now generates a data-main attribute if given an argument, ala:
127
+
128
+ ```erb
129
+ <%= requirejs_include_tag "application" %>
130
+ ```
131
+
132
+ This usage is preferred to using a separate `javascript_include_tag`, which will produce errors from require.js or r.js if the included script uses define anonymously, or not at all.
133
+
125
134
  ### v0.5.0
126
135
 
127
136
  - `application.js` is configured as the default top-level module for r.js builds.
@@ -1,7 +1,16 @@
1
1
  require 'requirejs/error'
2
2
 
3
3
  module RequirejsHelper
4
- def requirejs_include_tag(tag=nil)
4
+ def _data_main(name)
5
+ if name
6
+ name += ".js" unless name =~ /\.js$/
7
+ %Q{data-main="#{javascript_path(name)}"}
8
+ else
9
+ ""
10
+ end
11
+ end
12
+
13
+ def requirejs_include_tag(name=nil)
5
14
  html = ""
6
15
 
7
16
  if controller.requirejs_included
@@ -11,13 +20,9 @@ module RequirejsHelper
11
20
  <script>
12
21
  var require = #{Rails.application.config.requirejs.run_config_json};
13
22
  </script>
14
- #{javascript_include_tag "require"}
23
+ <script #{_data_main name} src="#{javascript_path 'require.js'}"></script>
15
24
  HTML
16
25
  controller.requirejs_included = true
17
-
18
- if tag
19
- html << javascript_include_tag(tag)
20
- end
21
26
  html.html_safe
22
27
  end
23
28
  end
@@ -1,5 +1,5 @@
1
1
  module Requirejs
2
2
  module Rails
3
- VERSION = "0.5.0"
3
+ VERSION = "0.5.1"
4
4
  end
5
5
  end
@@ -35,8 +35,7 @@ class RequirejsHelperTest < ActionView::TestCase
35
35
 
36
36
  test "requirejs_include_tag_with_param" do
37
37
  render :text => wrap(requirejs_include_tag("application"))
38
- assert_select "script:nth-of-type(2)[src^=/javascripts/require.js]", :count => 1
39
- assert_select "script:last-of-type[src^=/javascripts/application.js]", :count => 1
38
+ assert_select "script:last-of-type[src^=/javascripts/require.js][data-main^=/javascripts/application.js]", :count => 1
40
39
  end
41
40
 
42
41
  test "requirejs_include_tag can appear only once" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: requirejs-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-12-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties
16
- requirement: &70099873431600 !ruby/object:Gem::Requirement
16
+ requirement: &70364520699460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.1.1
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70099873431600
24
+ version_requirements: *70364520699460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rails
27
- requirement: &70099873416040 !ruby/object:Gem::Requirement
27
+ requirement: &70364520698260 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 3.1.1
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70099873416040
35
+ version_requirements: *70364520698260
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: sqlite3
38
- requirement: &70099873414400 !ruby/object:Gem::Requirement
38
+ requirement: &70364520696860 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,7 +43,7 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70099873414400
46
+ version_requirements: *70364520696860
47
47
  description: This gem provides RequireJS support for your Rails 3 application.
48
48
  email:
49
49
  - whitley@bangpath.org
@@ -122,7 +122,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
122
122
  version: '0'
123
123
  segments:
124
124
  - 0
125
- hash: 3746544673108118455
125
+ hash: -660159137027217743
126
126
  required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
@@ -131,7 +131,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
131
131
  version: '0'
132
132
  segments:
133
133
  - 0
134
- hash: 3746544673108118455
134
+ hash: -660159137027217743
135
135
  requirements:
136
136
  - node.js is required for 'rake assets:precompile', used to run the r.js build
137
137
  - If needed, jQuery should be v1.7 or greater (jquery-rails >= 1.0.17).