tzispa 0.7.1 → 0.7.2

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
  SHA1:
3
- metadata.gz: f50c454f5ef7dadfebaba6ef100dd0b0c46cf195
4
- data.tar.gz: ea1f5f7ba86c28537a1cb6cd3bbc2837e5d75da4
3
+ metadata.gz: b119cddbf5c47a4c6491e1889f9679eb585146ae
4
+ data.tar.gz: e8d676c05e9e38f09b0b3a0aeff5b79f95b65fd9
5
5
  SHA512:
6
- metadata.gz: 4d25afce79bda116c7b7794eae00b10403edd4573950c3a9c6ee19cffe90dc2eb9d730865ba253eb460175abb0e5f206332aa4eac9ee7394730919565debed39
7
- data.tar.gz: 587680df83f8d2c9016dd3c86b50d2baaf941398a791335ff5f570408b2ae0c2c83d85f83270ea15a7c57c76476e7af35cc6d9f3909a224cac69266f5fa3d18a
6
+ metadata.gz: 44c799320a2522396ba110f1fb77f2cb2abf0f62a128fc0a7983cf60ba54cb362c983b1ccf014700628b861783258983546848156f63242b2d2cef4b513552c8
7
+ data.tar.gz: fda28a29ecdb5a7b7a59e2ec316ecf9b3a649130649b6727b08f44aedccc474fb72dc51c459070bcdc7c4f17859ccf27123e321162f4131f9fa2cff5ddc1fe67
data/CHANGELOG.md CHANGED
@@ -2,6 +2,9 @@ Tzispa
2
2
 
3
3
  General purpose web framework
4
4
 
5
+ ## v0.7.2
6
+ - added before/after hooks in controllers and handlers
7
+
5
8
  ## v0.7.1
6
9
  - ensure set response status in prepare_client/server_error
7
10
  - added result_redirect method in api handlers
@@ -5,6 +5,8 @@ require 'json'
5
5
  require 'i18n'
6
6
  require 'tzispa/helpers/provider'
7
7
  require 'tzispa/helpers/sign_requirer'
8
+ require 'tzispa/helpers/hooks/before'
9
+ require 'tzispa/helpers/hooks/after'
8
10
  require 'tzispa/utils/string'
9
11
 
10
12
  module Tzispa
@@ -23,6 +25,8 @@ module Tzispa
23
25
 
24
26
  include Tzispa::Helpers::Provider
25
27
  include Tzispa::Helpers::SignRequirer
28
+ include Tzispa::Helpers::Hooks::Before
29
+ include Tzispa::Helpers::Hooks::After
26
30
 
27
31
  using Tzispa::Utils::TzString
28
32
 
@@ -41,17 +45,6 @@ module Tzispa
41
45
  @status = nil
42
46
  end
43
47
 
44
- class << self
45
- def before(*args)
46
- (@before_chain ||= []).tap do |bef|
47
- args.each do |s|
48
- s = s.to_sym
49
- bef << s unless bef.include?(s)
50
- end
51
- end
52
- end
53
- end
54
-
55
48
  def error?
56
49
  @error && @error != HANDLER_OK
57
50
  end
@@ -98,6 +91,7 @@ module Tzispa
98
91
  # process compound predicates
99
92
  args = predicate ? predicate.split(',') : nil
100
93
  send verb, *args
94
+ do_after
101
95
  end
102
96
 
103
97
  def redirect_url(url)
@@ -116,10 +110,6 @@ module Tzispa
116
110
  context.router_params[:verb],
117
111
  context.router_params[:predicate]
118
112
  end
119
-
120
- def do_before
121
- self.class.before.each { |hbef| send hbef }
122
- end
123
113
  end
124
114
 
125
115
  end
@@ -2,6 +2,8 @@
2
2
 
3
3
  require 'forwardable'
4
4
  require 'tzispa/helpers/error_view'
5
+ require 'tzispa/helpers/hooks/before'
6
+ require 'tzispa/helpers/hooks/after'
5
7
  require 'tzispa/http/context'
6
8
  require 'tzispa/environment'
7
9
 
@@ -12,6 +14,8 @@ module Tzispa
12
14
  extend Forwardable
13
15
 
14
16
  include Tzispa::Helpers::ErrorView
17
+ include Tzispa::Helpers::Hooks::Before
18
+ include Tzispa::Helpers::Hooks::After
15
19
 
16
20
  attr_reader :context, :application, :callmethod
17
21
  def_delegators :@context, :request, :response, :config,
@@ -28,23 +32,13 @@ module Tzispa
28
32
  response.finish
29
33
  end
30
34
 
31
- class << self
32
- def before(*args)
33
- (@before_chain ||= []).tap do |bef|
34
- args&.each do |s|
35
- s = s.to_sym
36
- bef << s unless bef.include?(s)
37
- end
38
- end
39
- end
40
- end
41
-
42
35
  private
43
36
 
44
37
  def invoke
45
38
  prepare_response catch(:halt) {
46
39
  do_before
47
40
  send callmethod
41
+ do_after
48
42
  }
49
43
  rescue Tzispa::Rig::NotFound => ex
50
44
  prepare_client_error(404, ex)
@@ -65,10 +59,6 @@ module Tzispa
65
59
  end
66
60
  end
67
61
 
68
- def do_before
69
- self.class.before.each { |hook| send hook }
70
- end
71
-
72
62
  def prepare_client_error(status, error = nil)
73
63
  status.tap do |code|
74
64
  response.status = status if status.is_a?(Integer)
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Tzispa
4
- VERSION = '0.7.1'
4
+ VERSION = '0.7.2'
5
5
  FRAMEWORK_NAME = 'Tzispa'
6
6
  GEM_NAME = 'tzispa'
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tzispa
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.1
4
+ version: 0.7.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juan Antonio Piñero
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-21 00:00:00.000000000 Z
11
+ date: 2017-04-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler