simple_ruby_service 1.0.1 → 1.0.2

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
  SHA256:
3
- metadata.gz: 43714cc68b788ec9560c521bea6b1f990c53df4355c1ea1926181a085d9995f5
4
- data.tar.gz: 663f185df7329f6c11af20451accc328d00a62ca5fef47f484fc2075ceaf1b88
3
+ metadata.gz: 665fbb0eacfb11a6e7d863e72a0e091ad96831c0ce72644fb5467b592c567524
4
+ data.tar.gz: 98c5caa24124671cd21f56a0f625f8c340e198c3847d05454b9cb41c633ff64b
5
5
  SHA512:
6
- metadata.gz: 9090c2b6e0cd08731df1094e0e9e1c73327b47c9c74ab853647fe0c48b898630a6800655e62a450d3a6ca932e14aeb807163129865b4bb9c2dcebf60c4f603ad
7
- data.tar.gz: 49ba2e1b78455023bbeb560da3a89d2ee30375fab1beda505f525c03e789fa9a71949b698f0c8d534cc1120fd34dd25a583163a28d2cb526861943e7b0b760d5
6
+ metadata.gz: f11211b2e212d4324a9c55a09f2a366c152f5e3d53c5069c35d7b77876844cbc6db397e5bb888ceba36d1165ad27cc3dd09c8751cbd3bb838123f68c5695c4b5
7
+ data.tar.gz: c1b45fe0900d696f739540cd9cd8f90d9c31133d8df14ebb2a60ad4743b90360241334c102dc70f1d26d4a8ee9415eb564d9631c401a3f633d7502b9b6b2c6be
data/.travis.yml ADDED
@@ -0,0 +1,12 @@
1
+ # SEE: https://docs.travis-ci.com/user/languages/ruby/
2
+
3
+ language: ruby
4
+ rvm:
5
+ - 2.5.3
6
+ before_install:
7
+ - gem install bundler:1.17.3
8
+ install: bundle _1.17.3_ install --jobs=3 --retry=3
9
+ env:
10
+ - 'TEST_RAILS_VERSION="~> 5.2.3"'
11
+ - 'TEST_RAILS_VERSION="~> 6.0.3"'
12
+ - 'TEST_RAILS_VERSION="~> 6.1.3.2"'
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.0.3 (01-Jul-21)
4
+
5
+ * Finished Travis CI and Codecov integration
6
+
7
+ ## 1.0.2 (01-Jul-21)
8
+
9
+ * Integrated Travis CI and Codecov
10
+
3
11
  ## 1.0.1 (01-Jul-21)
4
12
 
5
13
  * Renamed SimpleRubyservice to SimpleRubyService
data/README.md CHANGED
@@ -1,12 +1,15 @@
1
1
  # Simple Ruby Service
2
2
 
3
+ [![Build Status](https://travis-ci.com/amazing-jay/simple_ruby_service.svg?branch=master)](https://travis-ci.com/amazing-jay/simple_ruby_service)
4
+ [![Test Coverage](https://codecov.io/gh/amazing-jay/simple_ruby_service/graph/badge.svg)](https://codecov.io/gh/amazing-jay/simple_ruby_service)
5
+
3
6
  Simple Ruby Service is a lightweight framework for Ruby that makes it easy to create Services and Service Objects (SOs).
4
7
 
5
8
  The framework provides a simple DSL that:
6
9
 
7
- 1. Adds ActiveModel validations and error handling
10
+ 1. Incorporates ActiveModel validations and error handling
8
11
  2. Encourages a succinct, idiomatic coding style
9
- 3. Allows Service Objects to ducktype as Procs
12
+ 3. Ducktypes Service Objects as Procs
10
13
 
11
14
  ## Requirements
12
15
 
@@ -34,12 +37,13 @@ Source code can be downloaded on GitHub
34
37
  [github.com/amazing-jay/simple_ruby_service/tree/master](https://github.com/amazing-jay/simple_ruby_service/tree/master)
35
38
 
36
39
 
37
- ### The following examples illustrate how Simple Ruby Service can help you refactor complex business logic
40
+ ### The following examples illustrate how to refactor complex business logic with Simple Ruby Service
38
41
 
39
42
  See [Usage](https://github.com/amazing-jay/simple_ruby_service#usage) & [Creating Simple Ruby Services](https://github.com/amazing-jay/simple_ruby_service#creating-simple-ruby-services) for more information.
40
43
 
41
44
  #### ::Before:: Vanilla Rails with a fat controller (a contrived example)
42
45
  ```ruby
46
+ # in app/controllers/some_controller.rb
43
47
  class SomeController < ApplicationController
44
48
  def show
45
49
  raise unless params[:id].present?
@@ -54,6 +58,7 @@ end
54
58
 
55
59
  #### ::After:: Refactored using an SO
56
60
  ```ruby
61
+ # in app/controllers/some_controller.rb
57
62
  class SomeController < ApplicationController
58
63
  def show
59
64
  # NOTE: Simple Ruby Service Objects ducktype as Procs and do not need to be instantiated
@@ -61,6 +66,8 @@ class SomeController < ApplicationController
61
66
  end
62
67
  end
63
68
 
69
+
70
+ # in app/service_objects/do_something.rb
64
71
  class DoSomething
65
72
  include SimpleRubyService::ServiceObject
66
73
 
@@ -83,6 +90,7 @@ end
83
90
 
84
91
  #### ::Alternate Form:: Refactored using a Service
85
92
  ```ruby
93
+ # in app/controllers/some_controller.rb
86
94
  class SomeController < ApplicationController
87
95
  def show
88
96
  # NOTE: Simple Ruby Service methods can be chained together
@@ -93,6 +101,7 @@ class SomeController < ApplicationController
93
101
  end
94
102
  end
95
103
 
104
+ # in app/services/do_something.rb
96
105
  class SomeService
97
106
  include SimpleRubyService::Service
98
107
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SimpleRubyService
4
- VERSION = '1.0.1'
4
+ VERSION = '1.0.2'
5
5
  end
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.email = ["i.jaycrouch@gmail.com"]
12
12
 
13
13
  spec.summary = 'Simple Ruby Service is a lightweight framework for Ruby that makes it easy to create Services and Service Objects (SOs).'
14
- spec.description = 'Simple Ruby Service is a lightweight framework for Ruby that makes it easy to create Services and Service Objects (SOs). The framework provides a simple DSL that: adds ActiveModel validations and error handling; encourages a succinct, idiomatic coding style; and allows Service Objects to ducktype as Procs.'
14
+ spec.description = 'Simple Ruby Service is a lightweight framework for Ruby that makes it easy to create Services and Service Objects (SOs). The framework provides a simple DSL that: incorporates ActiveModel validations and error handling; encourages a succinct, idiomatic coding style; Ducktypes Service Objects as Procs.'
15
15
  spec.homepage = 'https://github.com/amazing-jay/simple_ruby_service'
16
16
  spec.license = "MIT"
17
17
 
@@ -39,7 +39,6 @@ Gem::Specification.new do |spec|
39
39
  spec.add_dependency 'activemodel'
40
40
  spec.add_dependency 'activesupport'
41
41
 
42
- # spec.add_development_dependency 'actionpack'
43
42
  spec.add_development_dependency "awesome_print", "~> 1.9.2"
44
43
  spec.add_development_dependency "bundler", "~> 1.17"
45
44
  spec.add_development_dependency "database_cleaner", "~> 2.0.1"
@@ -48,13 +47,21 @@ Gem::Specification.new do |spec|
48
47
  spec.add_development_dependency "faker", "~> 2.18"
49
48
  spec.add_development_dependency "listen", "~> 3.5.1"
50
49
  spec.add_development_dependency "pry-byebug", "~> 3.9"
51
- spec.add_development_dependency "rails", "~> 6.1.3.2"
50
+
51
+ # must come before those below
52
+ if ENV['TEST_RAILS_VERSION'].nil?
53
+ spec.add_development_dependency 'rails', '~> 6.1.3.2'
54
+ else
55
+ spec.add_development_dependency 'rails', ENV['TEST_RAILS_VERSION'].to_s
56
+ end
57
+
52
58
  spec.add_development_dependency "rake", "~> 10.0"
53
59
  spec.add_development_dependency "rspec", "~> 3.0"
54
60
  spec.add_development_dependency "rspec-rails", "~> 5.0.1"
55
61
  spec.add_development_dependency "rubocop", "~> 0.60"
56
62
  spec.add_development_dependency "rubocop-performance", "~> 1.5"
57
63
  spec.add_development_dependency "rubocop-rspec", "~> 1.37"
64
+ spec.add_development_dependency "codecov", "~> 0.5.2"
58
65
  spec.add_development_dependency "simplecov", "~> 0.16"
59
66
  spec.add_development_dependency "sqlite3", "~> 1.4.2"
60
67
  spec.add_development_dependency "webmock", "~> 3.13"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_ruby_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Crouch
@@ -248,6 +248,20 @@ dependencies:
248
248
  - - "~>"
249
249
  - !ruby/object:Gem::Version
250
250
  version: '1.37'
251
+ - !ruby/object:Gem::Dependency
252
+ name: codecov
253
+ requirement: !ruby/object:Gem::Requirement
254
+ requirements:
255
+ - - "~>"
256
+ - !ruby/object:Gem::Version
257
+ version: 0.5.2
258
+ type: :development
259
+ prerelease: false
260
+ version_requirements: !ruby/object:Gem::Requirement
261
+ requirements:
262
+ - - "~>"
263
+ - !ruby/object:Gem::Version
264
+ version: 0.5.2
251
265
  - !ruby/object:Gem::Dependency
252
266
  name: simplecov
253
267
  requirement: !ruby/object:Gem::Requirement
@@ -292,8 +306,8 @@ dependencies:
292
306
  version: '3.13'
293
307
  description: 'Simple Ruby Service is a lightweight framework for Ruby that makes it
294
308
  easy to create Services and Service Objects (SOs). The framework provides a simple
295
- DSL that: adds ActiveModel validations and error handling; encourages a succinct,
296
- idiomatic coding style; and allows Service Objects to ducktype as Procs.'
309
+ DSL that: incorporates ActiveModel validations and error handling; encourages a
310
+ succinct, idiomatic coding style; Ducktypes Service Objects as Procs.'
297
311
  email:
298
312
  - i.jaycrouch@gmail.com
299
313
  executables: []
@@ -304,6 +318,7 @@ files:
304
318
  - ".rspec"
305
319
  - ".rubocop.yml"
306
320
  - ".simplecov"
321
+ - ".travis.yml"
307
322
  - CHANGELOG.md
308
323
  - Gemfile
309
324
  - LICENSE.txt