jetra 1.2.0 → 1.3.0

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.
@@ -1,51 +1,51 @@
1
- require "jetra/application"
2
-
3
- module Jetra
4
-
5
- class Builder
6
-
7
- def initialize(&block)
8
- @use = []
9
- instance_eval(&block) if block_given?
10
-
11
- @app = build_app
12
- end
13
-
14
- def call(route, params={})
15
- @app.call(route, params)
16
- end
17
-
18
- def routes
19
- @run.routes
20
- end
21
-
22
- def to_app
23
-
24
- newApp = Jetra::Application.new(self)
25
- routes.each_key do |route|
26
- eval("newApp.define_singleton_method(route) do |params={}| ; @app.call(route, params) ; end ")
27
- end
28
-
29
- eval("newApp.define_singleton_method(:method_missing) do |methodName, params={}| ; @app.call(methodName, params) ; end ")
30
-
31
- newApp
32
- end
33
-
34
- private
35
-
36
- def use(middleware)
37
- @use << proc { |app| middleware.new(app) }
38
- end
39
-
40
- def run(app)
41
- @run = app
42
- end
43
-
44
- def build_app
45
- app = @run
46
- fail "missing run statement" unless app
47
- app = @use.reverse.inject(app) { |a,e| e[a] }
48
- app
49
- end
50
- end
1
+ require "jetra/application"
2
+
3
+ module Jetra
4
+
5
+ class Builder
6
+
7
+ def initialize(&block)
8
+ @use = []
9
+ instance_eval(&block) if block_given?
10
+
11
+ @app = build_app
12
+ end
13
+
14
+ def call(route, params={})
15
+ @app.call(route, params)
16
+ end
17
+
18
+ def routes
19
+ @run.routes
20
+ end
21
+
22
+ def to_app
23
+
24
+ newApp = Jetra::Application.new(self)
25
+ routes.each_key do |route|
26
+ eval("newApp.define_singleton_method(route) do |params={}| ; @app.call(route, params) ; end ")
27
+ end
28
+
29
+ eval("newApp.define_singleton_method(:method_missing) do |methodName, params={}| ; @app.call(methodName, params) ; end ")
30
+
31
+ newApp
32
+ end
33
+
34
+ private
35
+
36
+ def use(middleware)
37
+ @use << proc { |app| middleware.new(app) }
38
+ end
39
+
40
+ def run(app)
41
+ @run = app
42
+ end
43
+
44
+ def build_app
45
+ app = @run
46
+ fail "missing run statement" unless app
47
+ app = @use.reverse.inject(app) { |a,e| e[a] }
48
+ app
49
+ end
50
+ end
51
51
  end
@@ -1,53 +1,53 @@
1
- require "jetra/application"
2
-
3
- module Jetra
4
-
5
- class Combiner
6
-
7
- def initialize(&block)
8
-
9
- @leader = nil
10
- @routes = {}
11
-
12
- instance_eval(&block) if block_given?
13
-
14
- fail "missing mount statement" unless @leader
15
- end
16
-
17
- def call(route, params={})
18
- if app = @routes[route]
19
- app.call(route, params)
20
- else
21
- @leader.call(route, params)
22
- end
23
- end
24
-
25
- def routes
26
- @routes
27
- end
28
-
29
- def to_app
30
-
31
- newApp = Jetra::Application.new(self)
32
- routes.each_key do |route|
33
- eval("newApp.define_singleton_method(route) do |params={}| ; @app.call(route, params) ; end ")
34
- end
35
-
36
- eval("newApp.define_singleton_method(:method_missing) do |method_name, params={}| ; @app.call(method_name, params) ; end ")
37
-
38
- newApp
39
- end
40
-
41
- private
42
-
43
- def mount(app)
44
-
45
- app.routes.each_key do |route|
46
- @routes[route] ||= app
47
- end
48
-
49
- @leader ||= app
50
- end
51
-
52
- end
1
+ require "jetra/application"
2
+
3
+ module Jetra
4
+
5
+ class Combiner
6
+
7
+ def initialize(&block)
8
+
9
+ @leader = nil
10
+ @routes = {}
11
+
12
+ instance_eval(&block) if block_given?
13
+
14
+ fail "missing mount statement" unless @leader
15
+ end
16
+
17
+ def call(route, params={})
18
+ if app = @routes[route]
19
+ app.call(route, params)
20
+ else
21
+ @leader.call(route, params)
22
+ end
23
+ end
24
+
25
+ def routes
26
+ @routes
27
+ end
28
+
29
+ def to_app
30
+
31
+ newApp = Jetra::Application.new(self)
32
+ routes.each_key do |route|
33
+ eval("newApp.define_singleton_method(route) do |params={}| ; @app.call(route, params) ; end ")
34
+ end
35
+
36
+ eval("newApp.define_singleton_method(:method_missing) do |method_name, params={}| ; @app.call(method_name, params) ; end ")
37
+
38
+ newApp
39
+ end
40
+
41
+ private
42
+
43
+ def mount(app)
44
+
45
+ app.routes.each_key do |route|
46
+ @routes[route] ||= app
47
+ end
48
+
49
+ @leader ||= app
50
+ end
51
+
52
+ end
53
53
  end
@@ -1,30 +1,30 @@
1
- module Jetra
2
-
3
- module Middleware
4
-
5
- #简单的中间件示例
6
- class Sample
7
-
8
- def initialize(app)
9
- @app = app
10
- end
11
-
12
- def call(route, params)
13
-
14
- #you can do something you like before call
15
-
16
- #puts "sample middleware call start.."
17
-
18
- response = @app.call(route, params)
19
-
20
- #puts "sample middleware call finish.."
21
-
22
- #you can do something you like after call
23
-
24
- response
25
- end
26
-
27
- end
28
-
29
- end
1
+ module Jetra
2
+
3
+ module Middleware
4
+
5
+ #简单的中间件示例
6
+ class Sample
7
+
8
+ def initialize(app)
9
+ @app = app
10
+ end
11
+
12
+ def call(route, params)
13
+
14
+ #you can do something you like before call
15
+
16
+ #puts "sample middleware call start.."
17
+
18
+ response = @app.call(route, params)
19
+
20
+ #puts "sample middleware call finish.."
21
+
22
+ #you can do something you like after call
23
+
24
+ response
25
+ end
26
+
27
+ end
28
+
29
+ end
30
30
  end
@@ -1,37 +1,37 @@
1
- module Jetra
2
-
3
- module Middleware
4
-
5
- #验证参数和返回值的基本类型
6
- class Validater
7
-
8
- def initialize(app)
9
- @app = app
10
- end
11
-
12
- def call(route, params)
13
-
14
- if !params.kind_of?(Hash)
15
- response = Jetra::Response.new
16
- response.status = -1
17
- response.body = {msg: "Jetra::Middleware::Validater: params type miss match. excepted Hash, got #{params.class.to_s}"}
18
- else
19
- response = @app.call(route, params)
20
- if !response.status.kind_of?(Integer)
21
- response.status = -1
22
- response.body = {msg: "Jetra::Middleware::Validater: response.status type miss match. excepted Integer, got #{response.status.class.to_s}"}
23
- else
24
- if !response.body.kind_of?(Hash)
25
- response.status = -1
26
- response.body = {msg: "Jetra::Middleware::Validater: response.body type miss match. excepted Hash, got #{response.body.class.to_s}"}
27
- end
28
- end
29
- end
30
-
31
- response
32
- end
33
-
34
- end
35
-
36
- end
1
+ module Jetra
2
+
3
+ module Middleware
4
+
5
+ #验证参数和返回值的基本类型
6
+ class Validater
7
+
8
+ def initialize(app)
9
+ @app = app
10
+ end
11
+
12
+ def call(route, params)
13
+
14
+ if !params.kind_of?(Hash)
15
+ response = Jetra::Response.new
16
+ response.status = -1
17
+ response.body = {msg: "Jetra::Middleware::Validater: params type miss match. excepted Hash, got #{params.class.to_s}"}
18
+ else
19
+ response = @app.call(route, params)
20
+ if !response.status.kind_of?(Integer)
21
+ response.status = -1
22
+ response.body = {msg: "Jetra::Middleware::Validater: response.status type miss match. excepted Integer, got #{response.status.class.to_s}"}
23
+ else
24
+ if !response.body.kind_of?(Hash)
25
+ response.status = -1
26
+ response.body = {msg: "Jetra::Middleware::Validater: response.body type miss match. excepted Hash, got #{response.body.class.to_s}"}
27
+ end
28
+ end
29
+ end
30
+
31
+ response
32
+ end
33
+
34
+ end
35
+
36
+ end
37
37
  end
@@ -1,5 +1,5 @@
1
- module Jetra
2
-
3
- Version = "1.2.0"
4
-
1
+ module Jetra
2
+
3
+ Version = "1.3.0"
4
+
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jetra
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeffrey
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-10-23 00:00:00.000000000 Z
11
+ date: 2020-05-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: micro DSL
14
14
  email:
@@ -52,8 +52,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0'
54
54
  requirements: []
55
- rubyforge_project:
56
- rubygems_version: 2.7.8
55
+ rubygems_version: 3.0.3
57
56
  signing_key:
58
57
  specification_version: 4
59
58
  summary: make it easy to write micro service