js-routes-zigexn 1.3.3

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.
@@ -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: []