polist 0.3.0 → 0.4.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
- SHA1:
3
- metadata.gz: 12c67f64ccbfd9eaed69c1790de797006a08d504
4
- data.tar.gz: 8cb87aa04c3e144986410511f244eb5fe08c1e0c
2
+ SHA256:
3
+ metadata.gz: 73c8e323de7cb71b6b39441dd95abf7fbccb8de9cb391790faf2fde7f7f4a20a
4
+ data.tar.gz: a281f80553b3db467785bd1a2c04701a428c8dac372658369b8ddae8b5cc22b3
5
5
  SHA512:
6
- metadata.gz: 73407de877df7e67b866f535de2cddba82bac3f67b64d50bf36b53cc430782ecbccf79d658ce0c1af592ab61f9c0dc05daaf907709caca8ee0d1f5d9df32a91b
7
- data.tar.gz: 9817ce2cd398a53339ebcde02f21801f3871aa604fafac32f33fe173b5cab9217b2da1721e658b4b26dfb443f5b540c3500e5ddce54aadc68c086ed230315313
6
+ metadata.gz: 6af97512d4e3f8b135369ce37dedc444758c3d060af1df1839b80a296d2305469b4399138312f31b437d993681b726e01d54054b61d753da99ce4130a085fbef
7
+ data.tar.gz: 99420ff893d32b0eb1b02b498e0f51dede79054e24ef4f6282bdbb029f329e7fdebf19c6263e03c0298c44f42a8613d87b564c99e71dc88270fb07d40baaf4ec
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
1
  --format documentation
2
2
  --color
3
+ --require spec_helper
@@ -1,205 +1,6 @@
1
+ inherit_gem:
2
+ rubocop-config-umbrellio: lib/rubocop.yml
3
+
1
4
  AllCops:
2
5
  DisplayCopNames: true
3
- TargetRubyVersion: 2.4
4
- Exclude:
5
- - polist.gemspec
6
-
7
- # Layout
8
-
9
- Layout/AlignParameters:
10
- Enabled: true
11
-
12
- # Layout/MultilineMethodCallIndentation:
13
- # Enabled: false
14
-
15
- # Layout/MultilineOperationIndentation:
16
- # Enabled: false
17
-
18
- Layout/SpaceInLambdaLiteral:
19
- EnforcedStyle: require_space
20
-
21
- Layout/SpaceInsideBrackets:
22
- Enabled: false
23
-
24
- Layout/IndentArray:
25
- EnforcedStyle: consistent
26
-
27
- Layout/IndentHash:
28
- EnforcedStyle: consistent
29
-
30
- # Lint
31
-
32
- Lint/AmbiguousBlockAssociation:
33
- Enabled: false
34
-
35
- Lint/AmbiguousOperator:
36
- Enabled: false
37
-
38
- Lint/NonLocalExitFromIterator:
39
- Enabled: false
40
-
41
- Lint/HandleExceptions:
42
- Enabled: false
43
-
44
- Lint/RescueType:
45
- Enabled: true
46
-
47
- Lint/ShadowingOuterLocalVariable:
48
- Enabled: false
49
-
50
- Lint/ScriptPermission:
51
- Enabled: true
52
-
53
- # Metrics
54
-
55
- # Metrics/AbcSize:
56
- # Enabled: false
57
-
58
- Metrics/BlockLength:
59
- Exclude:
60
- - spec/**/*
61
-
62
- # Metrics/ClassLength:
63
- # Enabled: false
64
-
65
- # Metrics/CyclomaticComplexity:
66
- # Enabled: false
67
-
68
- Metrics/LineLength:
69
- Max: 100
70
-
71
- Metrics/MethodLength:
72
- Max: 20
73
-
74
- Metrics/PerceivedComplexity:
75
- Enabled: false
76
-
77
- # Performance
78
-
79
- Performance/Caller:
80
- Enabled: true
81
-
82
- Performance/Casecmp:
83
- Enabled: false
84
-
85
- # Security
86
-
87
- Security/YAMLLoad:
88
- Enabled: false
89
-
90
- # Style
91
-
92
- Style/AccessorMethodName:
93
- # This cop assumes every method is accessor
94
- Enabled: false
95
-
96
- Style/AndOr:
97
- # `do_something and return`
98
- Enabled: false
99
-
100
- Style/ClassAndModuleChildren:
101
- # Enable it in non-rails projects with EnforcedStyle you prefer
102
- Enabled: false
103
-
104
- Style/CommentAnnotation:
105
- # Also, i think that better to use yard's `@todo` and other in ruby code
106
- Enabled: false
107
-
108
- Style/ConditionalAssignment:
109
- Enabled: false
110
-
111
- Style/Documentation:
112
- Enabled: false
113
-
114
- Style/DoubleNegation:
115
- # Always return booleans in predicates
116
- Enabled: false
117
-
118
- Style/EmptyCaseCondition:
119
- Enabled: false
120
-
121
- Style/EmptyElse:
122
- Enabled: false
123
-
124
- Style/Encoding:
125
- Enabled: false
126
-
127
- Style/FormatStringToken:
128
- Enabled: true
129
-
130
- Style/IfUnlessModifier:
131
- Enabled: true
132
-
133
- Style/GuardClause:
134
- Enabled: false
135
-
136
- Style/HashSyntax:
137
- Exclude:
138
- - Rakefile
139
-
140
- Style/LambdaCall:
141
- Enabled: false
142
-
143
- Style/ModuleFunction:
144
- Enabled: false
145
-
146
- Style/MultilineTernaryOperator:
147
- Enabled: false
148
-
149
- Style/MultipleComparison:
150
- Enabled: true
151
-
152
- Style/NumericLiterals:
153
- Description: 'Use indent in groups of 3 unlesss you meet project-specific rule'
154
- Enabled: false
155
-
156
- Style/ParallelAssignment:
157
- Enabled: false
158
-
159
- Style/PerlBackrefs:
160
- Enabled: true
161
-
162
- Style/PredicateName:
163
- NamePrefixBlacklist:
164
- - is_
165
-
166
- Style/RaiseArgs:
167
- Description: 'Use `raise, ErrorClass` in all cases but not when you need ErrorClass constructor'
168
- Enabled: false
169
-
170
- Style/RegexpLiteral:
171
- EnforcedStyle: mixed
172
- Enabled: true
173
-
174
- Style/RescueModifier:
175
- Enabled: false
176
-
177
-
178
- Style/StringLiterals:
179
- EnforcedStyle: double_quotes
180
- ConsistentQuotesInMultiline: true
181
-
182
- Style/SignalException:
183
- EnforcedStyle: only_raise
184
-
185
- Style/SingleLineBlockParams:
186
- Enabled: false
187
-
188
- Style/StringLiteralsInInterpolation:
189
- Enabled: false
190
-
191
- Style/SymbolArray:
192
- Enabled: false
193
-
194
- Style/TrailingCommaInArguments:
195
- EnforcedStyleForMultiline: comma
196
-
197
- Style/TrailingCommaInLiteral:
198
- EnforcedStyleForMultiline: comma
199
-
200
- Style/TrivialAccessors:
201
- AllowPredicates: true
202
- Enabled: false
203
-
204
- Style/YodaCondition:
205
- Enabled: false
6
+ TargetRubyVersion: 2.5
@@ -1,5 +1,24 @@
1
- sudo: false
2
1
  language: ruby
2
+
3
+ sudo: false
4
+
3
5
  rvm:
4
- - 2.4.1
5
- before_install: gem install bundler -v 1.15.1
6
+ - 2.3
7
+ - 2.4
8
+ - 2.5
9
+ - ruby-head
10
+
11
+ before_install: gem install bundler
12
+
13
+ env: SUITE="rspec"
14
+
15
+ script: bundle exec $SUITE
16
+
17
+ matrix:
18
+ fast_finish: true
19
+ # Only run RuboCop on the latest Ruby
20
+ include:
21
+ - rvm: 2.5
22
+ env: SUITE="rubocop"
23
+ allow_failures:
24
+ - rvm: ruby-head
data/README.md CHANGED
@@ -1,7 +1,10 @@
1
- # Polist
1
+ # Polist   [![Gem Version](https://badge.fury.io/rb/polist.svg)](https://badge.fury.io/rb/polist) [![Build Status](https://travis-ci.org/umbrellio/polist.svg?branch=master)](https://travis-ci.org/umbrellio/polist) [![Coverage Status](https://coveralls.io/repos/github/umbrellio/polist/badge.svg?branch=master)](https://coveralls.io/github/umbrellio/polist?branch=master)
2
2
 
3
3
  `Polist::Service` is a simple class designed for creating service classes.
4
4
 
5
+ ### Installation
6
+ Juts add `gem "polist"` to your Gemfile.
7
+
5
8
  ### Basic usage example
6
9
  ```ruby
7
10
  class MyService < Polist::Service
@@ -81,3 +84,13 @@ end
81
84
  MyService.call(param1: "1", param2: "2") # prints false and then ["1", 2, "smth"]
82
85
  ```
83
86
  The `#form` method is there just for convinience and by default it uses what `#form_attributes` returns as the attributes for the default form class which is the services' `Form` class. You are free to use as many different form classes as you want in your service.
87
+
88
+ ## License
89
+ Released under MIT License.
90
+
91
+ ## Authors
92
+ Created by Yuri Smirnov.
93
+
94
+ <a href="https://github.com/umbrellio/">
95
+ <img style="float: left;" src="https://umbrellio.github.io/Umbrellio/supported_by_umbrellio.svg" alt="Supported by Umbrellio" width="439" height="72">
96
+ </a>
data/Rakefile CHANGED
@@ -5,4 +5,4 @@ require "rspec/core/rake_task"
5
5
 
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
8
- task :default => :spec
8
+ task default: :spec
@@ -48,7 +48,8 @@ module Polist
48
48
  self.params = params
49
49
  end
50
50
 
51
- def call; end # Should be implemented in subclasses
51
+ # Should be implemented in subclasses
52
+ def call; end
52
53
 
53
54
  def run
54
55
  call
@@ -58,7 +59,7 @@ module Polist
58
59
  end
59
60
 
60
61
  def response
61
- @response ||= {}
62
+ @response
62
63
  end
63
64
 
64
65
  def failure?
@@ -83,7 +84,7 @@ module Polist
83
84
  params
84
85
  end
85
86
 
86
- def fail!(response = {})
87
+ def fail!(response = nil)
87
88
  raise self.class::Failure.new(response)
88
89
  end
89
90
 
@@ -91,7 +92,7 @@ module Polist
91
92
  fail!(error: message)
92
93
  end
93
94
 
94
- def success!(response = {})
95
+ def success!(response = nil)
95
96
  @response = response
96
97
  end
97
98
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Polist
4
- VERSION = "0.3.0"
4
+ VERSION = "0.4.0"
5
5
  end
@@ -18,13 +18,15 @@ Gem::Specification.new do |spec|
18
18
  spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^spec/}) }
19
19
  spec.require_paths = ["lib"]
20
20
 
21
- spec.add_runtime_dependency "tainbox"
22
- spec.add_runtime_dependency "plissken", ">= 0.3"
23
21
  spec.add_runtime_dependency "activemodel", ">= 3.0"
22
+ spec.add_runtime_dependency "plissken", ">= 0.3"
23
+ spec.add_runtime_dependency "tainbox"
24
24
 
25
- spec.add_development_dependency "bundler", "~> 1.15"
26
- spec.add_development_dependency "rake", "~> 10.0"
27
- spec.add_development_dependency "rspec", "~> 3.0"
25
+ spec.add_development_dependency "bundler"
26
+ spec.add_development_dependency "coveralls"
28
27
  spec.add_development_dependency "pry"
28
+ spec.add_development_dependency "rake"
29
+ spec.add_development_dependency "rspec"
30
+ spec.add_development_dependency "rubocop-config-umbrellio"
29
31
  spec.add_development_dependency "simplecov"
30
32
  end
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: polist
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yuri Smirnov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-22 00:00:00.000000000 Z
11
+ date: 2018-10-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: tainbox
14
+ name: activemodel
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '3.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
- version: '0'
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: plissken
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -39,63 +39,91 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0.3'
41
41
  - !ruby/object:Gem::Dependency
42
- name: activemodel
42
+ name: tainbox
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '3.0'
47
+ version: '0'
48
48
  type: :runtime
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: '3.0'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: coveralls
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: pry
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
60
88
  - !ruby/object:Gem::Version
61
- version: '1.15'
89
+ version: '0'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
- - - "~>"
94
+ - - ">="
67
95
  - !ruby/object:Gem::Version
68
- version: '1.15'
96
+ version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: rake
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
- - - "~>"
101
+ - - ">="
74
102
  - !ruby/object:Gem::Version
75
- version: '10.0'
103
+ version: '0'
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
- - - "~>"
108
+ - - ">="
81
109
  - !ruby/object:Gem::Version
82
- version: '10.0'
110
+ version: '0'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: rspec
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
- - - "~>"
115
+ - - ">="
88
116
  - !ruby/object:Gem::Version
89
- version: '3.0'
117
+ version: '0'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
- - - "~>"
122
+ - - ">="
95
123
  - !ruby/object:Gem::Version
96
- version: '3.0'
124
+ version: '0'
97
125
  - !ruby/object:Gem::Dependency
98
- name: pry
126
+ name: rubocop-config-umbrellio
99
127
  requirement: !ruby/object:Gem::Requirement
100
128
  requirements:
101
129
  - - ">="
@@ -137,8 +165,6 @@ files:
137
165
  - LICENSE.txt
138
166
  - README.md
139
167
  - Rakefile
140
- - bin/console
141
- - bin/setup
142
168
  - lib/polist.rb
143
169
  - lib/polist/service.rb
144
170
  - lib/polist/version.rb
@@ -163,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
189
  version: '0'
164
190
  requirements: []
165
191
  rubyforge_project:
166
- rubygems_version: 2.6.14
192
+ rubygems_version: 2.7.6
167
193
  signing_key:
168
194
  specification_version: 4
169
195
  summary: A gem for creating simple service classes.
@@ -1,15 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # frozen_string_literal: true
3
-
4
- require "bundler/setup"
5
- require "polist"
6
-
7
- # You can add fixtures and/or initialization code here to make experimenting
8
- # with your gem easier. You can also use a different console, if you like.
9
-
10
- # (If you use this, don't forget to add pry to your Gemfile!)
11
- # require "pry"
12
- # Pry.start
13
-
14
- require "irb"
15
- IRB.start(__FILE__)
data/bin/setup DELETED
@@ -1,8 +0,0 @@
1
- #!/usr/bin/env bash
2
- set -euo pipefail
3
- IFS=$'\n\t'
4
- set -vx
5
-
6
- bundle install
7
-
8
- # Do any other automated setup that you need to do here