application_service 0.2.4 → 0.2.5
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 +1 -1
- data/Gemfile.lock +56 -42
- data/VERSION +1 -1
- data/application_service.gemspec +22 -22
- data/lib/application_service.rb +1 -1
- data/spec/application_service_spec.rb +48 -48
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6b800abf813eb3e4b9355dd7494b739610a00404
|
4
|
+
data.tar.gz: 86a7a6b368a8b35dddcef04fe3dd133c8833fb18
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b5c332a969dc635e75481547fd59ca8c837c16e29f65ea3b513f629da8f736f8d1c8e71edf44f667afb81746f58a0f9740f0d5e8645fd13ab035340e5a7c879b
|
7
|
+
data.tar.gz: bbbfbde306ce4f35cfdbcedecebd2c5d652918d4bfc19694d026b32d1d3e2bf5931b3b9535d64c5bef5f17a5cf3d0473eb39ab7df35b3f0ea04ec4e773f04707
|
data/.ruby-version
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.2.
|
1
|
+
2.2.5
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,62 +1,76 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activesupport (
|
4
|
+
activesupport (5.0.0.1)
|
5
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
5
6
|
i18n (~> 0.7)
|
6
|
-
json (~> 1.7, >= 1.7.7)
|
7
7
|
minitest (~> 5.1)
|
8
|
-
thread_safe (~> 0.3, >= 0.3.4)
|
9
8
|
tzinfo (~> 1.1)
|
10
|
-
addressable (2.
|
9
|
+
addressable (2.5.0)
|
10
|
+
public_suffix (~> 2.0, >= 2.0.2)
|
11
11
|
builder (3.2.2)
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
12
|
+
concurrent-ruby (1.0.2)
|
13
|
+
descendants_tracker (0.0.4)
|
14
|
+
thread_safe (~> 0.3, >= 0.3.1)
|
15
|
+
diff-lcs (1.2.5)
|
16
|
+
faraday (0.9.2)
|
17
|
+
multipart-post (>= 1.2, < 3)
|
18
|
+
git (1.3.0)
|
19
|
+
github_api (0.11.3)
|
20
|
+
addressable (~> 2.3)
|
21
|
+
descendants_tracker (~> 0.0.1)
|
22
|
+
faraday (~> 0.8, < 0.10)
|
19
23
|
hashie (>= 1.2)
|
20
|
-
multi_json (
|
21
|
-
nokogiri (~> 1.
|
24
|
+
multi_json (>= 1.7.5, < 2.0)
|
25
|
+
nokogiri (~> 1.6.0)
|
22
26
|
oauth2
|
23
|
-
hashie (3.
|
24
|
-
highline (1.
|
27
|
+
hashie (3.4.6)
|
28
|
+
highline (1.7.8)
|
25
29
|
i18n (0.7.0)
|
26
|
-
jeweler (
|
30
|
+
jeweler (2.2.1)
|
27
31
|
builder
|
28
|
-
bundler (
|
32
|
+
bundler (>= 1.0)
|
29
33
|
git (>= 1.2.5)
|
30
|
-
github_api (
|
34
|
+
github_api (~> 0.11.0)
|
31
35
|
highline (>= 1.6.15)
|
32
|
-
nokogiri (
|
36
|
+
nokogiri (>= 1.5.10)
|
37
|
+
psych (~> 2.2)
|
33
38
|
rake
|
34
39
|
rdoc
|
35
|
-
|
36
|
-
jwt (1.
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
40
|
+
semver
|
41
|
+
jwt (1.5.6)
|
42
|
+
mini_portile2 (2.1.0)
|
43
|
+
minitest (5.10.1)
|
44
|
+
multi_json (1.12.1)
|
45
|
+
multi_xml (0.6.0)
|
46
|
+
multipart-post (2.0.0)
|
47
|
+
nokogiri (1.6.8.1)
|
48
|
+
mini_portile2 (~> 2.1.0)
|
49
|
+
oauth2 (1.2.0)
|
43
50
|
faraday (>= 0.8, < 0.10)
|
44
51
|
jwt (~> 1.0)
|
45
52
|
multi_json (~> 1.3)
|
46
53
|
multi_xml (~> 0.5)
|
47
|
-
rack (
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
rspec-
|
55
|
-
rspec-
|
56
|
-
|
57
|
-
rspec-
|
58
|
-
|
59
|
-
rspec-
|
54
|
+
rack (>= 1.2, < 3)
|
55
|
+
psych (2.2.1)
|
56
|
+
public_suffix (2.0.4)
|
57
|
+
rack (2.0.1)
|
58
|
+
rake (12.0.0)
|
59
|
+
rdoc (5.0.0)
|
60
|
+
rspec (3.5.0)
|
61
|
+
rspec-core (~> 3.5.0)
|
62
|
+
rspec-expectations (~> 3.5.0)
|
63
|
+
rspec-mocks (~> 3.5.0)
|
64
|
+
rspec-core (3.5.4)
|
65
|
+
rspec-support (~> 3.5.0)
|
66
|
+
rspec-expectations (3.5.0)
|
67
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
68
|
+
rspec-support (~> 3.5.0)
|
69
|
+
rspec-mocks (3.5.0)
|
70
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
71
|
+
rspec-support (~> 3.5.0)
|
72
|
+
rspec-support (3.5.0)
|
73
|
+
semver (1.0.1)
|
60
74
|
thread_safe (0.3.5)
|
61
75
|
tzinfo (1.2.2)
|
62
76
|
thread_safe (~> 0.1)
|
@@ -66,8 +80,8 @@ PLATFORMS
|
|
66
80
|
|
67
81
|
DEPENDENCIES
|
68
82
|
activesupport
|
69
|
-
jeweler
|
83
|
+
jeweler
|
70
84
|
rspec
|
71
85
|
|
72
86
|
BUNDLED WITH
|
73
|
-
1.
|
87
|
+
1.13.6
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.5
|
data/application_service.gemspec
CHANGED
@@ -2,18 +2,18 @@
|
|
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.5 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
|
-
s.name = "application_service"
|
9
|
-
s.version = "0.2.
|
8
|
+
s.name = "application_service".freeze
|
9
|
+
s.version = "0.2.5"
|
10
10
|
|
11
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
12
|
-
s.require_paths = ["lib"]
|
13
|
-
s.authors = ["Nathan Woodhull"]
|
14
|
-
s.date = "2016-
|
15
|
-
s.description = "A service layer scaffold for rails apps extracted from Agra"
|
16
|
-
s.email = "woodhull@gmail.com"
|
11
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
|
+
s.require_paths = ["lib".freeze]
|
13
|
+
s.authors = ["Nathan Woodhull".freeze]
|
14
|
+
s.date = "2016-12-07"
|
15
|
+
s.description = "A service layer scaffold for rails apps extracted from Agra".freeze
|
16
|
+
s.email = "woodhull@gmail.com".freeze
|
17
17
|
s.extra_rdoc_files = [
|
18
18
|
"LICENSE.txt",
|
19
19
|
"README.rdoc"
|
@@ -34,27 +34,27 @@ Gem::Specification.new do |s|
|
|
34
34
|
"spec/application_service_spec.rb",
|
35
35
|
"spec/spec_helper.rb"
|
36
36
|
]
|
37
|
-
s.homepage = "http://github.com/woodhull/application_service"
|
38
|
-
s.licenses = ["MIT"]
|
39
|
-
s.rubygems_version = "2.
|
40
|
-
s.summary = "Service Layer Scaffold"
|
37
|
+
s.homepage = "http://github.com/woodhull/application_service".freeze
|
38
|
+
s.licenses = ["MIT".freeze]
|
39
|
+
s.rubygems_version = "2.6.8".freeze
|
40
|
+
s.summary = "Service Layer Scaffold".freeze
|
41
41
|
|
42
42
|
if s.respond_to? :specification_version then
|
43
43
|
s.specification_version = 4
|
44
44
|
|
45
45
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
46
|
-
s.add_runtime_dependency(%q<activesupport
|
47
|
-
s.add_development_dependency(%q<rspec
|
48
|
-
s.add_development_dependency(%q<jeweler
|
46
|
+
s.add_runtime_dependency(%q<activesupport>.freeze, [">= 0"])
|
47
|
+
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
|
48
|
+
s.add_development_dependency(%q<jeweler>.freeze, [">= 0"])
|
49
49
|
else
|
50
|
-
s.add_dependency(%q<activesupport
|
51
|
-
s.add_dependency(%q<rspec
|
52
|
-
s.add_dependency(%q<jeweler
|
50
|
+
s.add_dependency(%q<activesupport>.freeze, [">= 0"])
|
51
|
+
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
52
|
+
s.add_dependency(%q<jeweler>.freeze, [">= 0"])
|
53
53
|
end
|
54
54
|
else
|
55
|
-
s.add_dependency(%q<activesupport
|
56
|
-
s.add_dependency(%q<rspec
|
57
|
-
s.add_dependency(%q<jeweler
|
55
|
+
s.add_dependency(%q<activesupport>.freeze, [">= 0"])
|
56
|
+
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
57
|
+
s.add_dependency(%q<jeweler>.freeze, [">= 0"])
|
58
58
|
end
|
59
59
|
end
|
60
60
|
|
data/lib/application_service.rb
CHANGED
@@ -3,7 +3,7 @@ require 'active_support/all'
|
|
3
3
|
class ApplicationService
|
4
4
|
|
5
5
|
include ActiveSupport::Callbacks
|
6
|
-
define_callbacks :save, :create, :update, :destroy, {terminator: ->(target, result) { result == false }, skip_after_callbacks_if_terminated: true}
|
6
|
+
define_callbacks :save, :create, :update, :destroy, {terminator: ->(target, result) { result.call == false }, skip_after_callbacks_if_terminated: true}
|
7
7
|
|
8
8
|
def initialize
|
9
9
|
end
|
@@ -9,35 +9,35 @@ describe ApplicationService do
|
|
9
9
|
it "should allow set and get" do
|
10
10
|
obj = double()
|
11
11
|
as = ApplicationService.new
|
12
|
-
as.current_object= obj
|
13
|
-
as.current_object.
|
12
|
+
as.current_object = obj
|
13
|
+
expect(as.current_object).to eq(obj)
|
14
14
|
end
|
15
15
|
end
|
16
16
|
|
17
17
|
describe "#save" do
|
18
18
|
it "should let you save an object" do
|
19
19
|
obj = double()
|
20
|
-
obj.
|
21
|
-
obj.
|
20
|
+
allow(obj).to receive(:new_record?).and_return(true)
|
21
|
+
expect(obj).to receive(:save)
|
22
22
|
subject.save(obj)
|
23
23
|
end
|
24
24
|
|
25
25
|
it "should trigger create" do
|
26
26
|
obj = double()
|
27
|
-
obj.
|
28
|
-
obj.
|
27
|
+
allow(obj).to receive(:new_record?).and_return(true)
|
28
|
+
allow(obj).to receive(:save)
|
29
29
|
|
30
|
-
subject.
|
30
|
+
expect(subject).to receive(:create)
|
31
31
|
subject.save(obj)
|
32
32
|
end
|
33
33
|
|
34
34
|
|
35
35
|
it "should trigger update" do
|
36
36
|
obj = double()
|
37
|
-
obj.
|
38
|
-
obj.
|
37
|
+
allow(obj).to receive(:new_record?).and_return(false)
|
38
|
+
allow(obj).to receive(:save)
|
39
39
|
|
40
|
-
subject.
|
40
|
+
expect(subject).to receive(:update)
|
41
41
|
subject.save(obj)
|
42
42
|
end
|
43
43
|
end
|
@@ -45,27 +45,27 @@ describe ApplicationService do
|
|
45
45
|
describe "#save!" do
|
46
46
|
it "should let you save an object" do
|
47
47
|
obj = double()
|
48
|
-
obj.
|
49
|
-
obj.
|
48
|
+
allow(obj).to receive(:new_record?).and_return(true)
|
49
|
+
expect(obj).to receive(:save!)
|
50
50
|
subject.save!(obj)
|
51
51
|
end
|
52
52
|
|
53
53
|
it "should trigger create" do
|
54
54
|
obj = double()
|
55
|
-
obj.
|
56
|
-
obj.
|
55
|
+
allow(obj).to receive(:new_record?).and_return(true)
|
56
|
+
allow(obj).to receive(:save!)
|
57
57
|
|
58
|
-
subject.
|
58
|
+
expect(subject).to receive(:create!)
|
59
59
|
subject.save!(obj)
|
60
60
|
end
|
61
61
|
|
62
62
|
|
63
63
|
it "should trigger update" do
|
64
64
|
obj = double()
|
65
|
-
obj.
|
66
|
-
obj.
|
65
|
+
allow(obj).to receive(:new_record?).and_return(false)
|
66
|
+
allow(obj).to receive(:save!)
|
67
67
|
|
68
|
-
subject.
|
68
|
+
expect(subject).to receive(:update!)
|
69
69
|
subject.save!(obj)
|
70
70
|
end
|
71
71
|
end
|
@@ -73,8 +73,8 @@ describe ApplicationService do
|
|
73
73
|
describe "#update_attributes" do
|
74
74
|
it "should trigger update" do
|
75
75
|
obj = double()
|
76
|
-
obj.
|
77
|
-
obj.
|
76
|
+
expect(obj).to receive(:assign_attributes).with( {:foo => 'bar'}).and_return(:true)
|
77
|
+
expect(obj).to receive(:save)
|
78
78
|
|
79
79
|
subject.update_attributes(obj, {:foo => 'bar'})
|
80
80
|
end
|
@@ -83,7 +83,7 @@ describe ApplicationService do
|
|
83
83
|
describe '#destroy' do
|
84
84
|
it "should trigger destroy" do
|
85
85
|
obj = double()
|
86
|
-
obj.
|
86
|
+
expect(obj).to receive(:destroy)
|
87
87
|
|
88
88
|
subject.destroy(obj)
|
89
89
|
end
|
@@ -159,7 +159,7 @@ describe ApplicationService do
|
|
159
159
|
expect(service).to receive(:before_save_callback).once
|
160
160
|
expect(service).to receive(:after_save_callback).once
|
161
161
|
|
162
|
-
expect { service.admin_save(object) }.to raise_error
|
162
|
+
expect { service.admin_save(object) }.to raise_error(StandardError)
|
163
163
|
|
164
164
|
expect(object).to receive(:save).and_return(true)
|
165
165
|
|
@@ -209,12 +209,12 @@ describe ApplicationService do
|
|
209
209
|
end
|
210
210
|
|
211
211
|
service = service_klass.new
|
212
|
-
service.
|
212
|
+
expect(service).to_not receive(:before_save_callback)
|
213
213
|
service.save(object)
|
214
214
|
|
215
215
|
invoke_callback = true
|
216
216
|
service = service_klass.new
|
217
|
-
service.
|
217
|
+
expect(service).to receive(:before_save_callback).and_return(true)
|
218
218
|
service.save(object)
|
219
219
|
end
|
220
220
|
|
@@ -226,14 +226,14 @@ describe ApplicationService do
|
|
226
226
|
end
|
227
227
|
|
228
228
|
service = service_klass.new
|
229
|
-
service.
|
230
|
-
service.
|
229
|
+
expect(service).not_to receive(:before_save_callback_1)
|
230
|
+
expect(service).not_to receive(:before_save_callback_2)
|
231
231
|
service.save(object)
|
232
232
|
|
233
233
|
invoke_callback = true
|
234
234
|
service = service_klass.new
|
235
|
-
service.
|
236
|
-
service.
|
235
|
+
expect(service).to receive(:before_save_callback_1).and_return(true)
|
236
|
+
expect(service).to receive(:before_save_callback_2).and_return(true)
|
237
237
|
service.save(object)
|
238
238
|
end
|
239
239
|
|
@@ -243,8 +243,8 @@ describe ApplicationService do
|
|
243
243
|
end
|
244
244
|
|
245
245
|
service = service_klass.new
|
246
|
-
service.
|
247
|
-
service.
|
246
|
+
expect(service).not_to receive(:before_save_callback2)
|
247
|
+
allow(service).to receive(:before_save_callback1).and_return(false)
|
248
248
|
service.save(object)
|
249
249
|
end
|
250
250
|
|
@@ -254,8 +254,8 @@ describe ApplicationService do
|
|
254
254
|
end
|
255
255
|
|
256
256
|
service = service_klass.new
|
257
|
-
service.
|
258
|
-
service.
|
257
|
+
expect(service).to receive(:before_save_callback2)
|
258
|
+
allow(service).to receive(:before_save_callback1).and_return(true)
|
259
259
|
service.save(object)
|
260
260
|
end
|
261
261
|
|
@@ -267,10 +267,10 @@ describe ApplicationService do
|
|
267
267
|
end
|
268
268
|
|
269
269
|
service = service_klass.new
|
270
|
-
service.
|
271
|
-
service.
|
270
|
+
expect(service).not_to receive(:before_save_callback)
|
271
|
+
expect(service).to receive(:before_save_callback_2)
|
272
272
|
|
273
|
-
object.
|
273
|
+
expect(object).to receive(:save).and_return(true)
|
274
274
|
|
275
275
|
service.save(object)
|
276
276
|
end
|
@@ -281,8 +281,8 @@ describe ApplicationService do
|
|
281
281
|
end
|
282
282
|
|
283
283
|
service = service_klass.new
|
284
|
-
service.
|
285
|
-
object.
|
284
|
+
allow(service).to receive(:before_save_callback).and_return(false)
|
285
|
+
expect(object).not_to receive(:save)
|
286
286
|
expect(service.save(object)).to eq(false)
|
287
287
|
end
|
288
288
|
|
@@ -292,7 +292,7 @@ describe ApplicationService do
|
|
292
292
|
end
|
293
293
|
|
294
294
|
service = service_klass.new
|
295
|
-
service.
|
295
|
+
expect(service).to receive(:before_save_callback).and_return(true)
|
296
296
|
expect(service.save(object)).to eq(true)
|
297
297
|
end
|
298
298
|
end
|
@@ -306,12 +306,12 @@ describe ApplicationService do
|
|
306
306
|
end
|
307
307
|
|
308
308
|
service = service_klass.new
|
309
|
-
service.
|
309
|
+
expect(service).not_to receive(:after_save_callback)
|
310
310
|
service.save(object)
|
311
311
|
|
312
312
|
invoke_callback = true
|
313
313
|
service = service_klass.new
|
314
|
-
service.
|
314
|
+
expect(service).to receive(:after_save_callback).and_return(true)
|
315
315
|
service.save(object)
|
316
316
|
end
|
317
317
|
|
@@ -323,14 +323,14 @@ describe ApplicationService do
|
|
323
323
|
end
|
324
324
|
|
325
325
|
service = service_klass.new
|
326
|
-
service.
|
327
|
-
service.
|
326
|
+
expect(service).not_to receive(:after_save_callback_1)
|
327
|
+
expect(service).not_to receive(:after_save_callback_2)
|
328
328
|
service.save(object)
|
329
329
|
|
330
330
|
invoke_callback = true
|
331
331
|
service = service_klass.new
|
332
|
-
service.
|
333
|
-
service.
|
332
|
+
expect(service).to receive(:after_save_callback_1).and_return(true)
|
333
|
+
expect(service).to receive(:after_save_callback_2).and_return(true)
|
334
334
|
service.save(object)
|
335
335
|
end
|
336
336
|
|
@@ -340,7 +340,7 @@ describe ApplicationService do
|
|
340
340
|
end
|
341
341
|
|
342
342
|
service = service_klass.new
|
343
|
-
service.
|
343
|
+
expect(service).to receive(:after_save_callback).and_return(true)
|
344
344
|
expect(service.save(object)).to eq(true)
|
345
345
|
end
|
346
346
|
|
@@ -350,7 +350,7 @@ describe ApplicationService do
|
|
350
350
|
end
|
351
351
|
|
352
352
|
service = service_klass.new
|
353
|
-
service.
|
353
|
+
expect(service).not_to receive(:after_save_callback)
|
354
354
|
expect(service.save(object)).to eq(true)
|
355
355
|
end
|
356
356
|
|
@@ -360,8 +360,8 @@ describe ApplicationService do
|
|
360
360
|
end
|
361
361
|
|
362
362
|
service = service_klass.new
|
363
|
-
object.
|
364
|
-
service.
|
363
|
+
expect(object).to receive(:save).and_return(false)
|
364
|
+
expect(service).not_to receive(:after_save_callback)
|
365
365
|
expect(service.save(object)).to eq(false)
|
366
366
|
end
|
367
367
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
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.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Woodhull
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -42,16 +42,16 @@ dependencies:
|
|
42
42
|
name: jeweler
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
47
|
+
version: '0'
|
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
|
-
version:
|
54
|
+
version: '0'
|
55
55
|
description: A service layer scaffold for rails apps extracted from Agra
|
56
56
|
email: woodhull@gmail.com
|
57
57
|
executables: []
|
@@ -94,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
94
94
|
version: '0'
|
95
95
|
requirements: []
|
96
96
|
rubyforge_project:
|
97
|
-
rubygems_version: 2.
|
97
|
+
rubygems_version: 2.6.8
|
98
98
|
signing_key:
|
99
99
|
specification_version: 4
|
100
100
|
summary: Service Layer Scaffold
|