js-routes-zigexn 1.3.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,121 @@
1
+ # encoding: utf-8
2
+
3
+ $:.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
4
+ $:.unshift(File.dirname(__FILE__))
5
+ require 'rspec'
6
+ require 'rails/all'
7
+ require 'js-routes'
8
+ require 'active_support/core_ext/hash/slice'
9
+ require 'coffee-script'
10
+ # fix ends_with? error for rails 3.2
11
+ require 'active_support/core_ext/string/starts_ends_with' if 3 == Rails::VERSION::MAJOR
12
+
13
+ if defined?(JRUBY_VERSION)
14
+ require 'rhino'
15
+ JS_LIB_CLASS = Rhino
16
+ else
17
+ require 'v8'
18
+ JS_LIB_CLASS = V8
19
+ end
20
+
21
+ def jscontext(force = false)
22
+ if force
23
+ @jscontext = JS_LIB_CLASS::Context.new
24
+ else
25
+ @jscontext ||= JS_LIB_CLASS::Context.new
26
+ end
27
+ end
28
+
29
+ def js_error_class
30
+ JS_LIB_CLASS::JSError
31
+ end
32
+
33
+ def evaljs(string, force = false)
34
+ jscontext(force).eval(string)
35
+ end
36
+
37
+ def routes
38
+ App.routes.url_helpers
39
+ end
40
+
41
+ def blog_routes
42
+ BlogEngine::Engine.routes.url_helpers
43
+ end
44
+
45
+ ActiveSupport::Inflector.inflections do |inflect|
46
+ inflect.irregular "budgie", "budgies"
47
+ end
48
+
49
+
50
+ module BlogEngine
51
+ class Engine < Rails::Engine
52
+ isolate_namespace BlogEngine
53
+ end
54
+
55
+ end
56
+
57
+
58
+ class App < Rails::Application
59
+ # Enable the asset pipeline
60
+ config.assets.enabled = true
61
+ # initialize_on_precompile
62
+ config.assets.initialize_on_precompile = true
63
+
64
+ if 3 == Rails::VERSION::MAJOR
65
+ config.paths['config/routes'] << 'spec/config/routes.rb'
66
+ else
67
+ config.paths['config/routes.rb'] << 'spec/config/routes.rb'
68
+ end
69
+
70
+ config.root = File.expand_path('../dummy', __FILE__)
71
+ end
72
+
73
+
74
+ # prevent warning
75
+ Rails.configuration.active_support.deprecation = :log
76
+
77
+ # Requires supporting files with custom matchers and macros, etc,
78
+ # in ./support/ and its subdirectories.
79
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
80
+
81
+ RSpec.configure do |config|
82
+ config.expect_with :rspec do |c|
83
+ c.syntax = :expect
84
+ end
85
+
86
+ config.before(:all) do
87
+ # compile all js files begin
88
+ Dir["#{File.expand_path(File.join(File.dirname(__FILE__), "..", "lib"))}/**/*.coffee"].each do |coffee|
89
+ File.open(coffee.gsub(/\.coffee$/, ""), 'w') do |f|
90
+ f.write(CoffeeScript.compile(File.read(coffee)).lstrip)
91
+ end
92
+ end
93
+ # compile all js files end
94
+ draw_routes
95
+ end
96
+
97
+ config.before :each do
98
+ evaljs("var window = this;", true)
99
+
100
+ def inspectify(value)
101
+ case value
102
+ when V8::Array
103
+ value.map do |v|
104
+ inspectify(v)
105
+ end
106
+ when V8::Object
107
+ value.to_h.map do |k,v|
108
+ [k, inspectify(v)]
109
+ end.to_h
110
+ when String, nil, Fixnum, FalseClass, TrueClass
111
+ value
112
+ else
113
+ raise "wtf #{value.class}?"
114
+ end
115
+
116
+ end
117
+ jscontext[:log] = lambda do |context, value|
118
+ puts inspectify(value).to_json
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,76 @@
1
+ def draw_routes
2
+
3
+ BlogEngine::Engine.routes.draw do
4
+ root to: "application#index"
5
+ resources :posts
6
+ end
7
+ App.routes.draw do
8
+
9
+ get 'support(/page/:page)', to: BlogEngine::Engine, as: 'support'
10
+
11
+ resources :inboxes do
12
+ resources :messages do
13
+ resources :attachments
14
+ end
15
+ end
16
+
17
+ root :to => "inboxes#index"
18
+
19
+ namespace :admin do
20
+ resources :users
21
+ end
22
+
23
+ scope "/returns/:return" do
24
+ resources :objects
25
+ end
26
+ resources :returns
27
+
28
+ scope "(/optional/:optional_id)" do
29
+ resources :things
30
+ end
31
+
32
+ get "(/sep1/:first_optional)/sep2/:second_required/sep3/:third_required(/:forth_optional)",
33
+ as: :thing_deep, controller: :things, action: :show
34
+
35
+ if Rails.version < "5.0.0"
36
+ get "/:controller(/:action(/:id))" => "classic#classic", :as => :classic
37
+ end
38
+
39
+ get "/other_optional/(:optional_id)" => "foo#foo", :as => :foo
40
+ get '/other_optional(/*optional_id)' => 'foo#foo', :as => :foo_all
41
+
42
+ get 'books/*section/:title' => 'books#show', :as => :book
43
+ get 'books/:title/*section' => 'books#show', :as => :book_title
44
+
45
+ mount BlogEngine::Engine => "/blog", :as => :blog_app
46
+
47
+ get '/no_format' => "foo#foo", :format => false, :as => :no_format
48
+
49
+ get '/json_only' => "foo#foo", :format => true, :constraints => {:format => /json/}, :as => :json_only
50
+
51
+ get '/привет' => "foo#foo", :as => :hello
52
+ get '(/o/:organization)/search/:q' => "foo#foo", as: :search
53
+
54
+ resources :sessions, :only => [:new, :create, :destroy], :protocol => 'https'
55
+
56
+ get '/' => 'sso#login', host: 'sso.example.com', as: :sso
57
+
58
+ resources :portals, :port => 8080
59
+
60
+ get '/with_defaults' => 'foo#foo', defaults: { bar: 'tested', format: :json }, format: :true
61
+
62
+ namespace :api, format: true, defaults: {format: 'json'} do
63
+ get "/purchases" => "purchases#index"
64
+ end
65
+
66
+ resources :budgies do
67
+ get "descendents"
68
+ end
69
+
70
+ namespace :backend, path: '', constraints: {subdomain: 'backend'} do
71
+ root to: 'backend#index'
72
+ end
73
+
74
+ end
75
+
76
+ end
metadata ADDED
@@ -0,0 +1,209 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: js-routes-zigexn
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.3.3
5
+ platform: ruby
6
+ authors:
7
+ - VietTH
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2017-06-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: railties
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '3.2'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '3.2'
27
+ - !ruby/object:Gem::Dependency
28
+ name: sprockets-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: 3.0.0
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 3.0.0
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: 1.1.0
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: 1.1.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: coffee-script
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: appraisal
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: 0.5.2
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 0.5.2
97
+ - !ruby/object:Gem::Dependency
98
+ name: byebug
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: pry-byebug
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: therubyracer
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: 0.12.3
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: 0.12.3
139
+ description: Generates javascript file that defines all Rails named routes as javascript
140
+ helpers
141
+ email: vietth@zigexn.vn
142
+ executables: []
143
+ extensions: []
144
+ extra_rdoc_files:
145
+ - LICENSE.txt
146
+ files:
147
+ - ".document"
148
+ - ".gitignore"
149
+ - ".rspec"
150
+ - ".travis.yml"
151
+ - Appraisals
152
+ - CHANGELOG.md
153
+ - Gemfile
154
+ - LICENSE.txt
155
+ - Rakefile
156
+ - Readme.md
157
+ - app/assets/javascripts/js-routes.js.erb
158
+ - gemfiles/rails32.gemfile
159
+ - gemfiles/rails40.gemfile
160
+ - gemfiles/rails40_sprockets3.gemfile
161
+ - gemfiles/rails41.gemfile
162
+ - gemfiles/rails41_sprockets3.gemfile
163
+ - gemfiles/rails42.gemfile
164
+ - gemfiles/rails42_sprockets3.gemfile
165
+ - gemfiles/rails50.gemfile
166
+ - gemfiles/rails50_sprockets3.gemfile
167
+ - js-routes-zigexn.gemspec
168
+ - lib/js-routes.rb
169
+ - lib/js_routes.rb
170
+ - lib/js_routes/engine.rb
171
+ - lib/js_routes/version.rb
172
+ - lib/routes.js
173
+ - lib/routes.js.coffee
174
+ - lib/tasks/js_routes.rake
175
+ - spec/dummy/app/assets/javascripts/.gitkeep
176
+ - spec/dummy/config/routes.rb
177
+ - spec/js_routes/amd_compatibility_spec.rb
178
+ - spec/js_routes/default_serializer_spec.rb
179
+ - spec/js_routes/generated_javascript_spec.rb
180
+ - spec/js_routes/options_spec.rb
181
+ - spec/js_routes/rails_routes_compatibility_spec.rb
182
+ - spec/js_routes/zzz_last_post_rails_init_spec.rb
183
+ - spec/spec_helper.rb
184
+ - spec/support/routes.rb
185
+ homepage: https://github.com/vietthventura/js-routes
186
+ licenses:
187
+ - MIT
188
+ metadata: {}
189
+ post_install_message:
190
+ rdoc_options: []
191
+ require_paths:
192
+ - lib
193
+ required_ruby_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ required_rubygems_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ requirements: []
204
+ rubyforge_project:
205
+ rubygems_version: 2.6.11
206
+ signing_key:
207
+ specification_version: 4
208
+ summary: Brings Rails named routes to javascript
209
+ test_files: []