jets 1.9.2 → 1.9.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f5b0ce83e75713097408782eb9e2e1bf2e1e73cf0ea43949530b9313fa6f7c95
4
- data.tar.gz: 9e342074cf9ec18312ede4f7a5d67f96141c43d205e5908911889f2344c81b35
3
+ metadata.gz: 7e4df296b5e913ebf9840025c5c594825300384d58af8b65f7eb97a7a69a92dc
4
+ data.tar.gz: 21b331d9ffc40ef87f8486cec4154badbe817d67c8f440de6e007730787af701
5
5
  SHA512:
6
- metadata.gz: 625a6eb43d4043ffa1d9eccc6e945d79686c3f69c958171652405fa1ce2940e862acec327ee483dc8395e05ccb30409f3e024a9d136fa4a503db7ec1ba1df106
7
- data.tar.gz: 571c6a4db6ad117ffa4aac070641b2868a52f8b983831ec1c5414ecebd28b37d167e544d95279cbf5d99bfa1200d4f20b52b9393085f3917ba9230c00e7c529d
6
+ metadata.gz: f7098adf3105e2b8028f8587ee9b0a6282ba23ab7ba7df9d0d12a21ff9a535f6517802706d0f51e4ed7a3d6490da67a5773f2f608abb35465d93812973e7e095
7
+ data.tar.gz: a434cddda46495faf5e48efdbc8b92cff8abc3c26acacf7004b4d25c7bb466ff1c535553bb7ad9841c8f7fad0a9acbe08b8046b05818019d8fced6f0673ce2af
data/CHANGELOG.md CHANGED
@@ -3,6 +3,9 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  This project *loosely tries* to adhere to [Semantic Versioning](http://semver.org/).
5
5
 
6
+ ## [1.9.3]
7
+ - #264 auto reload routes for development
8
+
6
9
  ## [1.9.2]
7
10
  - #232 Rename lambda method to aws_lambda to avoid ruby keyword collision
8
11
  - #259 fix stage name in dev mode for redirect also
@@ -337,8 +337,15 @@ class Jets::Application
337
337
  end
338
338
 
339
339
  def load_routes
340
+ reload = Jets.env.development?
341
+ @router = nil if reload # clear_routes
342
+
340
343
  routes_file = "#{Jets.root}/config/routes.rb"
341
- require routes_file if File.exist?(routes_file)
344
+ if reload
345
+ load routes_file # always evaluate
346
+ else
347
+ require routes_file # evaluate once
348
+ end
342
349
  end
343
350
 
344
351
  def aws
@@ -5,6 +5,7 @@ class Jets::Controller::Middleware::Local
5
5
  end
6
6
 
7
7
  def find_route
8
+ reset_routes!
8
9
  # Precedence:
9
10
  # 1. Routes with no captures get highest precedence: posts/new
10
11
  # 2. Then we consider the routes with captures: post/:id
@@ -18,6 +19,14 @@ class Jets::Controller::Middleware::Local
18
19
  route
19
20
  end
20
21
 
22
+ # "hot reload" for development
23
+ def reset_routes!
24
+ return unless Jets.env.development?
25
+
26
+ Jets::Router.clear!
27
+ Jets.application.load_routes
28
+ end
29
+
21
30
  def route_found?(route)
22
31
  request_method = @env["REQUEST_METHOD"] || "GET"
23
32
  actual_path = @env["PATH_INFO"].sub(/^\//,'') # remove beginning slash
data/lib/jets/router.rb CHANGED
@@ -141,6 +141,10 @@ module Jets
141
141
  @@drawn_router = router
142
142
  end
143
143
 
144
+ def self.clear!
145
+ @@drawn_router = nil
146
+ end
147
+
144
148
  def self.routes
145
149
  drawn_router.routes
146
150
  end
data/lib/jets/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Jets
2
- VERSION = "1.9.2"
2
+ VERSION = "1.9.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jets
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.2
4
+ version: 1.9.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tung Nguyen