djr 0.0.2beta → 0.0.2
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/app/controllers/djr_controller.rb +22 -16
- data/lib/djr/version.rb +1 -1
- metadata +6 -6
@@ -5,30 +5,36 @@ class DjrController < ApplicationController
|
|
5
5
|
routeSet = Rails.application.routes
|
6
6
|
routes = routeSet.routes
|
7
7
|
|
8
|
-
js = ""
|
9
|
-
|
10
|
-
js << routes.map { |route| route.defaults[:controller]}.uniq.compact.map { |route|
|
11
|
-
route_str = ""
|
12
|
-
controller_name = "#{route.camelize.gsub(/\:\:/, '.')}Controller"
|
13
|
-
if m = controller_name.match(/\./)
|
14
|
-
route_str << "if(!#{m.pre_match}) { var #{m.pre_match} = {}; }; "
|
15
|
-
end
|
16
|
-
route_str << "#{controller_name} = function(){DJR.call(this);}; #{controller_name}.prototype.routes = {};"
|
17
|
-
}.compact.join
|
18
|
-
|
8
|
+
js = ";"
|
19
9
|
js << routes.map { |route|
|
20
|
-
|
21
|
-
|
10
|
+
route.defaults[:controller]
|
11
|
+
}.uniq.compact.map { |route|
|
12
|
+
mapped_controllers route
|
22
13
|
}.compact.join
|
14
|
+
js << routes.map { |route| mapped_actions route }.compact.join
|
23
15
|
|
24
16
|
render :text => js.to_s
|
25
17
|
|
26
18
|
end
|
27
19
|
|
28
20
|
private
|
29
|
-
def
|
30
|
-
|
31
|
-
|
21
|
+
def mapped_controllers route
|
22
|
+
route_str = ""
|
23
|
+
controller_name = "#{route.camelize.gsub(/\:\:/, '.')}Controller"
|
24
|
+
if m = controller_name.match(/\./)
|
25
|
+
route_str << "if(!#{m.pre_match}) { var #{m.pre_match} = {}; }; "
|
26
|
+
end
|
27
|
+
route_str << "#{controller_name} = function(){DJR.call(this);}; #{controller_name}.prototype.routes = {};"
|
28
|
+
end
|
29
|
+
|
30
|
+
def mapped_actions route
|
31
|
+
if route.defaults[:controller].present?
|
32
|
+
method = route.conditions[:request_method].present? ? route.conditions[:request_method].source[1..-2] : "GET"
|
33
|
+
controller_name = "#{route.defaults[:controller].camelize.gsub(/\:\:/, '.')}Controller"
|
34
|
+
" #{controller_name}.prototype.routes['#{route.defaults[:action]}'] = {url: \"#{route.path}\", method: \"#{method}\" };"
|
35
|
+
else
|
36
|
+
nil
|
37
|
+
end
|
32
38
|
end
|
33
39
|
|
34
40
|
end
|
data/lib/djr/version.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: djr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.2
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Christiano Milfont
|
@@ -13,7 +13,7 @@ date: 2012-02-20 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
16
|
-
requirement: &
|
16
|
+
requirement: &2160355100 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: 3.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *2160355100
|
25
25
|
description: DJR will generate the JavaScript code from Rails Controllers to allow
|
26
26
|
browsers to securely call into Ruby code almost as if it was running locally
|
27
27
|
email:
|
@@ -61,9 +61,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
61
61
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
62
62
|
none: false
|
63
63
|
requirements:
|
64
|
-
- - ! '
|
64
|
+
- - ! '>='
|
65
65
|
- !ruby/object:Gem::Version
|
66
|
-
version:
|
66
|
+
version: '0'
|
67
67
|
requirements: []
|
68
68
|
rubyforge_project: djr
|
69
69
|
rubygems_version: 1.8.10
|