seajs-rails 0.0.7 → 0.0.8

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.md CHANGED
@@ -74,6 +74,8 @@ ouput 项其实就是 package.json 中的 spm.output,支持 relative(只合
74
74
  ```
75
75
  * seajs_tag 用于引入 seajs ,并且会根据是否合并引入必要的配置
76
76
  * seajs_use 用于加载 CMD 模块,支持传递多个模块名称
77
+ * 如果需要 use 通用模块(位于 sea-modules 目录下),请在模块名前加上#,如 `<%= seajs_use '#gallery/moment/2.0.0/moment' %>`
78
+ * 如果想要使用带 callback 的 use 函数,可使用 seajs_modules 方法,如 `seajs.use(<%= seajs_modules 'blogs/show' %>, function(show){ })`
77
79
 
78
80
  ### 合并
79
81
 
@@ -87,3 +89,16 @@ Sea.js 的合并过程不会与原有的 assets pipeline 冲突,但是请将
87
89
  * 而非 CMD 模块的文件请依然通过 `config.assets.precompile` 配置
88
90
 
89
91
  合并完成后,不需要改动页面,两个 helper 方法能够自动处理
92
+
93
+ **特别注意:**请关注系统的 NODE_PATH 环境变量,如果不配置的话会导致 spm-chaos-build 执行有误
94
+
95
+
96
+ ## 参考文章
97
+
98
+ [Sea.js 如何与 Rails 结合](http://chaoskeh.com/blog/how-to-integrates-seajs-with-rails.html)
99
+
100
+ ## 变动历史
101
+
102
+ **2013-06-13** `0.0.8`
103
+
104
+ 增加 seajs_modules 方法,感谢 @blankyao
@@ -1,6 +1,7 @@
1
1
  module SeajsHelper
2
- # generate seajs.use()
3
- def seajs_use(*modules)
2
+
3
+ # get module name
4
+ def seajs_modules(*modules)
4
5
  seajs_config = Rails.application.config.seajs
5
6
 
6
7
  modules.map! do |m|
@@ -14,10 +15,14 @@ module SeajsHelper
14
15
  end
15
16
  end
16
17
  end
18
+ modules.to_s.html_safe
19
+ end
17
20
 
21
+ # generate seajs.use()
22
+ def seajs_use(*modules)
18
23
  html = <<-html
19
24
  <script>
20
- seajs.use(#{modules.to_s})
25
+ seajs.use(#{modules_seajs_use(*modules)})
21
26
  </script>
22
27
  html
23
28
 
@@ -1,6 +1,6 @@
1
1
  module Seajs
2
2
  module Rails
3
- VERSION = "0.0.7"
3
+ VERSION = "0.0.8"
4
4
  SEAJS_VERSION = "2.0.0"
5
5
  end
6
6
  end
@@ -16,14 +16,17 @@ namespace :seajs do
16
16
  # install seajs
17
17
  path = Rails.root.join('app', 'assets', 'javascripts')
18
18
  `cd #{path} && spm install seajs@#{Seajs::Rails::SEAJS_VERSION}`
19
+ puts "installed seajs@#{Seajs::Rails::SEAJS_VERSION}"
19
20
 
20
21
  # generate seajs config file
21
- File.open(Rails.root.join('config', 'seajs_config.yml'), 'w') do |f|
22
+ config_path = Rails.root.join('config', 'seajs_config.yml')
23
+ File.open(config_path, 'w') do |f|
22
24
  config_temp = File.expand_path('../template/seajs_config.yml', __FILE__)
23
25
  templ = Erubis::Eruby.new(File.open(config_temp).read)
24
26
  f.write templ.result(:seajs_path => "seajs/seajs/#{Seajs::Rails::SEAJS_VERSION}/sea.js",
25
27
  :family => Rails.application.class.parent_name.downcase)
26
28
  end
29
+ puts "generated config file at #{config_path}"
27
30
  end
28
31
 
29
32
  namespace :compile do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seajs-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-07 00:00:00.000000000 Z
12
+ date: 2013-06-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: railties