djr 0.0.2beta → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
- method = route.conditions[:request_method].present? ? route.conditions[:request_method].source[1..-2] : "GET"
21
- route.defaults[:controller].present? ? mount_js(route) : nil
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 mount_js route
30
- controller_name = "#{route.defaults[:controller].camelize.gsub(/\:\:/, '.')}Controller"
31
- " #{controller_name}.prototype.routes['#{route.defaults[:action]}'] = {url: \"#{route.path}\", method: \"#{method}\" };"
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
@@ -1,3 +1,3 @@
1
1
  module Djr
2
- VERSION = "0.0.2beta"
2
+ VERSION = "0.0.2"
3
3
  end
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.2beta
5
- prerelease: 5
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: &2153103180 !ruby/object:Gem::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: *2153103180
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: 1.3.1
66
+ version: '0'
67
67
  requirements: []
68
68
  rubyforge_project: djr
69
69
  rubygems_version: 1.8.10