jets 1.9.2 → 1.9.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.
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