application_service 0.2.2 → 0.2.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 +4 -4
- data/.ruby-version +1 -1
- data/Gemfile.lock +15 -13
- data/VERSION +1 -1
- data/application_service.gemspec +4 -4
- data/lib/application_service.rb +6 -10
- data/spec/application_service_spec.rb +4 -9
- metadata +15 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: afad05d4876e7cafd22bb8bce2730a169cb9e029
|
4
|
+
data.tar.gz: 703a9e2891a39498f4b6de3bb9bb64cc63f85456
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 369f6259e634ab762d1869c4aa74be7d29a5b284ff0a5098c26e0368df46f6ba48c39d1595329bfd64912b1fb0fc9cc9d57553ed362cbff9637447c6e84ecde3
|
7
|
+
data.tar.gz: e94ab5a22735d6e25fd9a90087c53d2ee31fd7f8ebfc793cbe9c04e64fc3ec4e05e769b021b4e561ac0ce6f0b88a7b0bf51705dafcb7db4ac6f453dee53ea661
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.
|
1
|
+
2.2.4
|
data/Gemfile.lock
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activesupport (4.
|
5
|
-
i18n (~> 0.
|
6
|
-
|
7
|
-
|
8
|
-
thread_safe (~> 0.
|
9
|
-
tzinfo (~>
|
4
|
+
activesupport (4.2.5.1)
|
5
|
+
i18n (~> 0.7)
|
6
|
+
json (~> 1.7, >= 1.7.7)
|
7
|
+
minitest (~> 5.1)
|
8
|
+
thread_safe (~> 0.3, >= 0.3.4)
|
9
|
+
tzinfo (~> 1.1)
|
10
10
|
addressable (2.3.6)
|
11
|
-
atomic (1.1.10)
|
12
11
|
builder (3.2.2)
|
13
12
|
diff-lcs (1.2.4)
|
14
13
|
faraday (0.8.9)
|
@@ -23,7 +22,7 @@ GEM
|
|
23
22
|
oauth2
|
24
23
|
hashie (3.2.0)
|
25
24
|
highline (1.6.21)
|
26
|
-
i18n (0.
|
25
|
+
i18n (0.7.0)
|
27
26
|
jeweler (1.8.8)
|
28
27
|
builder
|
29
28
|
bundler (~> 1.0)
|
@@ -35,8 +34,8 @@ GEM
|
|
35
34
|
rdoc
|
36
35
|
json (1.8.1)
|
37
36
|
jwt (1.0.0)
|
38
|
-
minitest (
|
39
|
-
multi_json (1.
|
37
|
+
minitest (5.8.4)
|
38
|
+
multi_json (1.11.2)
|
40
39
|
multi_xml (0.5.5)
|
41
40
|
multipart-post (1.2.0)
|
42
41
|
nokogiri (1.5.10)
|
@@ -58,9 +57,9 @@ GEM
|
|
58
57
|
rspec-expectations (2.14.0)
|
59
58
|
diff-lcs (>= 1.1.3, < 2.0)
|
60
59
|
rspec-mocks (2.14.2)
|
61
|
-
thread_safe (0.
|
62
|
-
|
63
|
-
|
60
|
+
thread_safe (0.3.5)
|
61
|
+
tzinfo (1.2.2)
|
62
|
+
thread_safe (~> 0.1)
|
64
63
|
|
65
64
|
PLATFORMS
|
66
65
|
ruby
|
@@ -69,3 +68,6 @@ DEPENDENCIES
|
|
69
68
|
activesupport
|
70
69
|
jeweler (~> 1.8.4)
|
71
70
|
rspec
|
71
|
+
|
72
|
+
BUNDLED WITH
|
73
|
+
1.11.2
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.3
|
data/application_service.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: application_service 0.2.
|
5
|
+
# stub: application_service 0.2.3 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "application_service"
|
9
|
-
s.version = "0.2.
|
9
|
+
s.version = "0.2.3"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib"]
|
13
13
|
s.authors = ["Nathan Woodhull"]
|
14
|
-
s.date = "
|
14
|
+
s.date = "2016-01-26"
|
15
15
|
s.description = "A service layer scaffold for rails apps extracted from Agra"
|
16
16
|
s.email = "woodhull@gmail.com"
|
17
17
|
s.extra_rdoc_files = [
|
@@ -36,7 +36,7 @@ Gem::Specification.new do |s|
|
|
36
36
|
]
|
37
37
|
s.homepage = "http://github.com/woodhull/application_service"
|
38
38
|
s.licenses = ["MIT"]
|
39
|
-
s.rubygems_version = "2.
|
39
|
+
s.rubygems_version = "2.4.8"
|
40
40
|
s.summary = "Service Layer Scaffold"
|
41
41
|
|
42
42
|
if s.respond_to? :specification_version then
|
data/lib/application_service.rb
CHANGED
@@ -3,15 +3,14 @@ require 'active_support/all'
|
|
3
3
|
class ApplicationService
|
4
4
|
|
5
5
|
include ActiveSupport::Callbacks
|
6
|
-
define_callbacks :save, :create, :update, :destroy,
|
7
|
-
:terminator => "result == false"
|
6
|
+
define_callbacks :save, :create, :update, :destroy, terminator: ->(target, result) { result == false }
|
8
7
|
|
9
8
|
def initialize
|
10
9
|
end
|
11
10
|
|
12
11
|
|
13
12
|
def self.before(callback, *args)
|
14
|
-
options = extract_callback_options(args
|
13
|
+
options = extract_callback_options(args)
|
15
14
|
|
16
15
|
args.each do |arg|
|
17
16
|
set_callback callback, :before, arg, options
|
@@ -22,7 +21,7 @@ class ApplicationService
|
|
22
21
|
end
|
23
22
|
|
24
23
|
def self.after(callback, *args)
|
25
|
-
options = extract_callback_options(args
|
24
|
+
options = extract_callback_options(args)
|
26
25
|
|
27
26
|
args.each do |arg|
|
28
27
|
set_callback callback, :after, arg, options
|
@@ -127,13 +126,10 @@ class ApplicationService
|
|
127
126
|
end
|
128
127
|
end
|
129
128
|
|
130
|
-
|
129
|
+
private
|
130
|
+
|
131
|
+
def self.extract_callback_options(args)
|
131
132
|
options = args.last.is_a?(Hash) ? args.pop : {}
|
132
|
-
if options && options.has_key?(:if)
|
133
|
-
options[:if] = [options[:if], default_if_option]
|
134
|
-
else
|
135
|
-
options[:if] = default_if_option
|
136
|
-
end
|
137
133
|
|
138
134
|
options
|
139
135
|
end
|
@@ -238,28 +238,23 @@ describe ApplicationService do
|
|
238
238
|
end
|
239
239
|
|
240
240
|
it "should not invoke callback if halted without options" do
|
241
|
-
pending('Need to look deeper on ActiveSupport::Callback code to understand how halt works')
|
242
|
-
|
243
241
|
service_klass = Class.new(ApplicationService) do
|
244
|
-
before :save, :
|
242
|
+
before :save, :before_save_callback1, :before_save_callback2
|
245
243
|
end
|
246
244
|
|
247
245
|
service = service_klass.new
|
248
|
-
service.should_not_receive(:
|
249
|
-
service.stub(:
|
246
|
+
service.should_not_receive(:before_save_callback2)
|
247
|
+
service.stub(:before_save_callback1).and_return(false)
|
250
248
|
service.save(object)
|
251
249
|
end
|
252
250
|
|
253
251
|
it "should not invoke callback if halted with options" do
|
254
|
-
pending('Need to look deeper on ActiveSupport::Callback code to understand how halt works')
|
255
|
-
|
256
252
|
service_klass = Class.new(ApplicationService) do
|
257
|
-
before :save, :before_save_callback, if: '
|
253
|
+
before :save, :before_save_callback, if: 'false'
|
258
254
|
end
|
259
255
|
|
260
256
|
service = service_klass.new
|
261
257
|
service.should_not_receive(:before_save_callback)
|
262
|
-
service.stub(:halted).and_return(true)
|
263
258
|
service.save(object)
|
264
259
|
end
|
265
260
|
end
|
metadata
CHANGED
@@ -1,55 +1,55 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: application_service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Woodhull
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: '0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '0'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: jeweler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: 1.8.4
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.8.4
|
55
55
|
description: A service layer scaffold for rails apps extracted from Agra
|
@@ -60,10 +60,10 @@ extra_rdoc_files:
|
|
60
60
|
- LICENSE.txt
|
61
61
|
- README.rdoc
|
62
62
|
files:
|
63
|
-
- .document
|
64
|
-
- .rspec
|
65
|
-
- .ruby-gemset
|
66
|
-
- .ruby-version
|
63
|
+
- ".document"
|
64
|
+
- ".rspec"
|
65
|
+
- ".ruby-gemset"
|
66
|
+
- ".ruby-version"
|
67
67
|
- Gemfile
|
68
68
|
- Gemfile.lock
|
69
69
|
- LICENSE.txt
|
@@ -84,17 +84,17 @@ require_paths:
|
|
84
84
|
- lib
|
85
85
|
required_ruby_version: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- -
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
91
|
requirements:
|
92
|
-
- -
|
92
|
+
- - ">="
|
93
93
|
- !ruby/object:Gem::Version
|
94
94
|
version: '0'
|
95
95
|
requirements: []
|
96
96
|
rubyforge_project:
|
97
|
-
rubygems_version: 2.
|
97
|
+
rubygems_version: 2.4.8
|
98
98
|
signing_key:
|
99
99
|
specification_version: 4
|
100
100
|
summary: Service Layer Scaffold
|