cater 1.0.0 → 1.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9083bb9d55b99b292afd5942c8a99c181d6810ae
4
- data.tar.gz: 1c9d57cbc1e5d5f644c15a46498d10dee95f160c
3
+ metadata.gz: e1c5334336f4a8a51cc1a1a42fb870774b43abc1
4
+ data.tar.gz: 4e188148b5d27d64fb5d3be2c5cb481485a370b8
5
5
  SHA512:
6
- metadata.gz: 4071411deb227e1db2617766a869b96dcf3fd06eb92d5f84b49262c4918eea997841b88fa9d1704561c0ba94987cd6c4e783d32d2a0156df9d0f5926254d749d
7
- data.tar.gz: 55908b7bc2e30268fd9e02cbc2932005ffcc34f2c3c72dbef3748d187fd19fabc4dd03e3b49e1b6218d61ee4ded61803299c289d63ebdfaee75e4622353dcf64
6
+ metadata.gz: dc119f3dbd6290509e6bfdcdc30677ee24f23988e56acac63c769e81fa671df1ff491b493d4dcbbe83c45a36034a2597b4a128c524c22ac0636f93a820832e4b
7
+ data.tar.gz: ff19cefc5c16df5ba07bb29e3caccd94ef2d3108c1cb93c6a0668d5c2df661eaf08363fc60b0dd8df026b05b640f025758c492da1018d97bdfbb5c7249082741
data/lib/cater/service.rb CHANGED
@@ -11,7 +11,8 @@ module Cater
11
11
  include ActiveSupport::Callbacks
12
12
 
13
13
  attr_accessor :message
14
- define_callbacks :call
14
+
15
+ define_callbacks :call, :success, :error
15
16
 
16
17
  def success?
17
18
  fail "Service was not called yet" if @_service_success.nil?
@@ -47,15 +48,25 @@ module Cater
47
48
  set_callback(:call, :before, *filters, &blk)
48
49
  end
49
50
 
51
+ def after_success(*filters, &blk)
52
+ set_callback(:success, :after, *filters, &blk)
53
+ end
54
+
55
+ def after_error(*filters, &blk)
56
+ set_callback(:error, :after, *filters, &blk)
57
+ end
58
+
50
59
  def call(*args)
51
60
  instance = self.new
52
- begin
53
- instance.run_callbacks :call do
61
+ instance.run_callbacks :call do
62
+ begin
54
63
  instance.call(*args)
64
+ instance.send(:_service_success=, true)
65
+ instance.run_callbacks :success
66
+ rescue ServiceError
67
+ instance.send(:_service_success=, false)
68
+ instance.run_callbacks :error
55
69
  end
56
- instance.send(:_service_success=, true)
57
- rescue ServiceError
58
- instance.send(:_service_success=, false)
59
70
  end
60
71
 
61
72
  return instance
data/lib/cater/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Cater
2
- VERSION = "1.0.0"
2
+ VERSION = "1.1.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cater
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andriy Tyurnikov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-01-21 00:00:00.000000000 Z
11
+ date: 2016-01-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport