lite-errors 1.0.0 → 1.2.1
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/.rubocop.yml +20 -4
- data/.travis.yml +15 -10
- data/CHANGELOG.md +18 -0
- data/Gemfile.lock +45 -62
- data/README.md +11 -8
- data/lib/lite/errors.rb +2 -3
- data/lib/lite/errors/messages.rb +9 -2
- data/lib/lite/errors/version.rb +3 -1
- data/lite-errors.gemspec +2 -1
- metadata +21 -7
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b4e55e67121bd0714d5d257f6dc8f18594bc6574be342f690e7ca7ca1a13ab6a
|
|
4
|
+
data.tar.gz: 598621346197312d6592bf5b89646cd2f5d4c21266cd0a835acb9e13fbc7740f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 13dc4a2f02b602c63a2a123501b32412f4b3a56a43b057cadb030cbda55c79bba2dac9617e88dbdacecfed4d0f1930ead827bd23ef7469c418f738d69010a4ef
|
|
7
|
+
data.tar.gz: db7e8f0e084c1312ccd8b7c2591460f237430f253755fcd7dec5c6d442f31d29ada32bd60a1849eee2f8076ce9b68041a4d876809d48c698fc592fc85a3b78df
|
data/.rubocop.yml
CHANGED
|
@@ -1,21 +1,37 @@
|
|
|
1
1
|
require:
|
|
2
2
|
- rubocop-performance
|
|
3
|
+
- rubocop-rake
|
|
3
4
|
- rubocop-rspec
|
|
4
5
|
AllCops:
|
|
5
|
-
TargetRubyVersion:
|
|
6
|
+
TargetRubyVersion: 3.0
|
|
7
|
+
NewCops: enable
|
|
6
8
|
DisplayCopNames: true
|
|
7
9
|
DisplayStyleGuide: true
|
|
8
|
-
|
|
9
|
-
|
|
10
|
+
Gemspec/RequiredRubyVersion:
|
|
11
|
+
Enabled: false
|
|
12
|
+
Layout/EmptyLinesAroundAttributeAccessor:
|
|
13
|
+
Enabled: true
|
|
10
14
|
Layout/EmptyLinesAroundBlockBody:
|
|
11
15
|
Exclude:
|
|
12
16
|
- 'spec/**/**/*'
|
|
13
17
|
Layout/EmptyLinesAroundClassBody:
|
|
14
|
-
EnforcedStyle:
|
|
18
|
+
EnforcedStyle: empty_lines_except_namespace
|
|
19
|
+
Layout/EmptyLinesAroundModuleBody:
|
|
20
|
+
EnforcedStyle: empty_lines_except_namespace
|
|
21
|
+
Layout/LineLength:
|
|
22
|
+
Max: 100
|
|
23
|
+
Layout/SpaceAroundMethodCallOperator:
|
|
24
|
+
Enabled: true
|
|
25
|
+
Lint/RaiseException:
|
|
26
|
+
Enabled: true
|
|
27
|
+
Lint/StructNewOverride:
|
|
28
|
+
Enabled: true
|
|
15
29
|
Metrics/BlockLength:
|
|
16
30
|
Exclude:
|
|
17
31
|
- 'spec/**/**/*'
|
|
18
32
|
- '*.gemspec'
|
|
33
|
+
Style/ArgumentsForwarding:
|
|
34
|
+
Enabled: false
|
|
19
35
|
Style/Documentation:
|
|
20
36
|
Enabled: false
|
|
21
37
|
Style/ExpandPathArguments:
|
data/.travis.yml
CHANGED
|
@@ -1,20 +1,25 @@
|
|
|
1
|
-
---
|
|
2
1
|
sudo: false
|
|
3
2
|
language: ruby
|
|
4
3
|
cache: bundler
|
|
5
4
|
rvm:
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
- 2.5
|
|
6
|
+
- 2.6
|
|
7
|
+
- 2.7
|
|
8
|
+
- ruby-head
|
|
9
9
|
matrix:
|
|
10
10
|
fast_finish: true
|
|
11
11
|
allow_failures:
|
|
12
|
-
|
|
12
|
+
- rvm: ruby-head
|
|
13
13
|
before_install:
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
- gem update --system
|
|
15
|
+
- gem install bundler
|
|
16
16
|
install:
|
|
17
|
-
|
|
17
|
+
- bundle install --jobs=3 --retry=3
|
|
18
18
|
script:
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
- bundle exec rspec
|
|
20
|
+
- bundle exec rubocop
|
|
21
|
+
# - bundle exec fasterer
|
|
22
|
+
notifications:
|
|
23
|
+
email: false
|
|
24
|
+
slack:
|
|
25
|
+
secure: CYSB+0IcRuv8gars8cBZHz046TCYUpijTZj/Z1FsaF7JRe0QP3XlcaPC9bowc0utXitMRuW1E1h9VbmtmN5NP2gNNj93xfIMUorhEUUiyfruYqQb/lq9IxLC113WppFXT31MXgmk7cpsEx8uxagPURFZpaicURK/MiW1af3D2o3snvJqxAVe8XQGJt3IUj2xteYqPJO1G1Zbk5MFK0J53BIPWB8Mm2wV9NwNcRkJ6szuiIB35tLrcGjfQljayfOWUq+Bj2IuChDfMlcH8no+79m/+7XL7/Kao6S/zmaIA26uURyZdDkyeHr8fX6hlraOv8XKf6FZ8XqSSfJ/8vC2DX/ooausdvJ3cNAf9iaxURyqNeisiQ6IsQtr+70KvXW8Ko5V1Y8fh/nIy9L7swgIkh9n7Gb9lWNL15DNxPU0Ooaqm85qGpoHH7wVmf5565YXdClSwXqk/js/6ZmKri//35PlrxiGAm7sDuIqbwz4aIY+tVfQeT/dcuHZ6lAb2/eMd3WGxj+TqSQHok+1cla8l8T+xuMS6Mw81aur8bwUT+aiWMnbQrR0BnItG8bUEG2Ha8LukluBbT7Jdlv5fE0jWeg9TgqZ09uKGsarc2FkeWHSqF1627HCsPLWEQEYx7unMK5bmOtgl9lJE1MmpZ0wWHjg4IOhWsbhqvYz1iUNWc0=
|
data/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,24 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [1.2.1] - 2021-07-22
|
|
10
|
+
### Changed
|
|
11
|
+
- Improved setup
|
|
12
|
+
|
|
13
|
+
## [1.2.0] - 2021-07-19
|
|
14
|
+
### Added
|
|
15
|
+
- Added Ruby 3.0 support
|
|
16
|
+
|
|
17
|
+
## [1.1.0] - 2021-06-03
|
|
18
|
+
### Added
|
|
19
|
+
- Added methods for Rails 6.1 changes
|
|
20
|
+
|
|
21
|
+
## [1.0.1] - 2019-06-24
|
|
22
|
+
### Added
|
|
23
|
+
- Added ruby 2.7 support
|
|
24
|
+
### Changed
|
|
25
|
+
- Changed `slice!` method to accept multiple args
|
|
26
|
+
|
|
9
27
|
## [1.0.0] - 2019-06-24
|
|
10
28
|
### Added
|
|
11
29
|
- Initial project version
|
data/Gemfile.lock
CHANGED
|
@@ -1,78 +1,61 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
lite-errors (1.
|
|
4
|
+
lite-errors (1.2.1)
|
|
5
5
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
-
ast (2.4.
|
|
10
|
-
axiom-types (0.1.1)
|
|
11
|
-
descendants_tracker (~> 0.0.4)
|
|
12
|
-
ice_nine (~> 0.11.0)
|
|
13
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
|
14
|
-
codeclimate-engine-rb (0.4.1)
|
|
15
|
-
virtus (~> 1.0)
|
|
16
|
-
coercible (1.0.0)
|
|
17
|
-
descendants_tracker (~> 0.0.1)
|
|
9
|
+
ast (2.4.2)
|
|
18
10
|
colorize (0.8.1)
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
diff-lcs (1.3)
|
|
22
|
-
equalizer (0.0.11)
|
|
23
|
-
fasterer (0.5.1)
|
|
11
|
+
diff-lcs (1.4.4)
|
|
12
|
+
fasterer (0.9.0)
|
|
24
13
|
colorize (~> 0.7)
|
|
25
|
-
ruby_parser (>= 3.
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
parallel (1.17.0)
|
|
30
|
-
parser (2.6.3.0)
|
|
31
|
-
ast (~> 2.4.0)
|
|
32
|
-
psych (3.1.0)
|
|
14
|
+
ruby_parser (>= 3.14.1)
|
|
15
|
+
parallel (1.20.1)
|
|
16
|
+
parser (3.0.2.0)
|
|
17
|
+
ast (~> 2.4.1)
|
|
33
18
|
rainbow (3.0.0)
|
|
34
|
-
rake (
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
rspec (3.
|
|
42
|
-
rspec-
|
|
43
|
-
|
|
44
|
-
rspec-mocks (~> 3.8.0)
|
|
45
|
-
rspec-core (3.8.1)
|
|
46
|
-
rspec-support (~> 3.8.0)
|
|
47
|
-
rspec-expectations (3.8.4)
|
|
19
|
+
rake (13.0.6)
|
|
20
|
+
regexp_parser (2.1.1)
|
|
21
|
+
rexml (3.2.5)
|
|
22
|
+
rspec (3.10.0)
|
|
23
|
+
rspec-core (~> 3.10.0)
|
|
24
|
+
rspec-expectations (~> 3.10.0)
|
|
25
|
+
rspec-mocks (~> 3.10.0)
|
|
26
|
+
rspec-core (3.10.1)
|
|
27
|
+
rspec-support (~> 3.10.0)
|
|
28
|
+
rspec-expectations (3.10.1)
|
|
48
29
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
49
|
-
rspec-support (~> 3.
|
|
50
|
-
rspec-mocks (3.
|
|
30
|
+
rspec-support (~> 3.10.0)
|
|
31
|
+
rspec-mocks (3.10.2)
|
|
51
32
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
52
|
-
rspec-support (~> 3.
|
|
53
|
-
rspec-support (3.
|
|
54
|
-
rubocop (
|
|
55
|
-
jaro_winkler (~> 1.5.1)
|
|
33
|
+
rspec-support (~> 3.10.0)
|
|
34
|
+
rspec-support (3.10.2)
|
|
35
|
+
rubocop (1.18.3)
|
|
56
36
|
parallel (~> 1.10)
|
|
57
|
-
parser (>=
|
|
37
|
+
parser (>= 3.0.0.0)
|
|
58
38
|
rainbow (>= 2.2.2, < 4.0)
|
|
39
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
40
|
+
rexml
|
|
41
|
+
rubocop-ast (>= 1.7.0, < 2.0)
|
|
59
42
|
ruby-progressbar (~> 1.7)
|
|
60
|
-
unicode-display_width (>= 1.4.0, <
|
|
61
|
-
rubocop-
|
|
62
|
-
|
|
63
|
-
rubocop-
|
|
64
|
-
rubocop (>=
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
43
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
44
|
+
rubocop-ast (1.8.0)
|
|
45
|
+
parser (>= 3.0.1.1)
|
|
46
|
+
rubocop-performance (1.11.4)
|
|
47
|
+
rubocop (>= 1.7.0, < 2.0)
|
|
48
|
+
rubocop-ast (>= 0.4.0)
|
|
49
|
+
rubocop-rake (0.6.0)
|
|
50
|
+
rubocop (~> 1.0)
|
|
51
|
+
rubocop-rspec (2.4.0)
|
|
52
|
+
rubocop (~> 1.0)
|
|
53
|
+
rubocop-ast (>= 1.1.0)
|
|
54
|
+
ruby-progressbar (1.11.0)
|
|
55
|
+
ruby_parser (3.16.0)
|
|
56
|
+
sexp_processor (~> 4.15, >= 4.15.1)
|
|
57
|
+
sexp_processor (4.15.3)
|
|
58
|
+
unicode-display_width (2.0.0)
|
|
76
59
|
|
|
77
60
|
PLATFORMS
|
|
78
61
|
ruby
|
|
@@ -82,11 +65,11 @@ DEPENDENCIES
|
|
|
82
65
|
fasterer
|
|
83
66
|
lite-errors!
|
|
84
67
|
rake
|
|
85
|
-
reek
|
|
86
68
|
rspec
|
|
87
69
|
rubocop
|
|
88
70
|
rubocop-performance
|
|
71
|
+
rubocop-rake
|
|
89
72
|
rubocop-rspec
|
|
90
73
|
|
|
91
74
|
BUNDLED WITH
|
|
92
|
-
2.
|
|
75
|
+
2.2.24
|
data/README.md
CHANGED
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
[](https://travis-ci.org/drexed/lite-errors)
|
|
5
5
|
|
|
6
6
|
Lite::Errors provides an API for generating and accessing error messages.
|
|
7
|
-
|
|
7
|
+
The API is ~90% compatible with `ActiveModel::Errors` except that it returns
|
|
8
|
+
hashes instead of error objects (use Rails =< 6.0 documentation). There are
|
|
9
|
+
few extra handy methods for interacting with errors so we encourage you to
|
|
10
|
+
look through the lib files.
|
|
8
11
|
|
|
9
12
|
**NOTE:** If you are coming from `ActiveErrors`, please read the [port](#port) section.
|
|
10
13
|
|
|
@@ -26,14 +29,8 @@ Or install it yourself as:
|
|
|
26
29
|
|
|
27
30
|
## Table of Contents
|
|
28
31
|
|
|
29
|
-
* [Port](#port)
|
|
30
32
|
* [Usage](#usage)
|
|
31
|
-
|
|
32
|
-
## Port
|
|
33
|
-
|
|
34
|
-
`Lite::Errors` is compatible port of [ActiveErrors](https://github.com/drexed/active_errors).
|
|
35
|
-
|
|
36
|
-
Switching is as easy as renaming `ActiveError::Messages` to `Lite::Errors::Messages`.
|
|
33
|
+
* [Port](#port)
|
|
37
34
|
|
|
38
35
|
## Usage
|
|
39
36
|
|
|
@@ -63,6 +60,12 @@ class Shipment
|
|
|
63
60
|
end
|
|
64
61
|
```
|
|
65
62
|
|
|
63
|
+
## Port
|
|
64
|
+
|
|
65
|
+
`Lite::Errors` is a compatible port of [ActiveErrors](https://github.com/drexed/active_errors).
|
|
66
|
+
|
|
67
|
+
Switching is as easy as renaming `ActiveError::Messages` to `Lite::Errors::Messages`.
|
|
68
|
+
|
|
66
69
|
## Development
|
|
67
70
|
|
|
68
71
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
data/lib/lite/errors.rb
CHANGED
data/lib/lite/errors/messages.rb
CHANGED
|
@@ -16,6 +16,8 @@ module Lite
|
|
|
16
16
|
@errors[key]
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
+
alias messages_for []
|
|
20
|
+
|
|
19
21
|
def []=(key, value)
|
|
20
22
|
@errors[key] ||= []
|
|
21
23
|
@errors[key] << value
|
|
@@ -83,6 +85,8 @@ module Lite
|
|
|
83
85
|
@errors.keys
|
|
84
86
|
end
|
|
85
87
|
|
|
88
|
+
alias attribute_names keys
|
|
89
|
+
|
|
86
90
|
def merge!(hash)
|
|
87
91
|
@errors.merge!(hash) do |_, arr1, arr2|
|
|
88
92
|
arr3 = arr1 + arr2
|
|
@@ -101,11 +105,12 @@ module Lite
|
|
|
101
105
|
|
|
102
106
|
alias count size
|
|
103
107
|
|
|
104
|
-
def slice!(
|
|
105
|
-
delete(key)
|
|
108
|
+
def slice!(*keys)
|
|
109
|
+
keys.each { |key| delete(key) }
|
|
106
110
|
@errors
|
|
107
111
|
end
|
|
108
112
|
|
|
113
|
+
# rubocop:disable Style/OptionalBooleanParameter
|
|
109
114
|
def to_hash(full_messages = false)
|
|
110
115
|
return @errors unless full_messages
|
|
111
116
|
|
|
@@ -113,8 +118,10 @@ module Lite
|
|
|
113
118
|
memo[key] = arr.map { |val| full_message(key, val) }
|
|
114
119
|
end
|
|
115
120
|
end
|
|
121
|
+
# rubocop:enable Style/OptionalBooleanParameter
|
|
116
122
|
|
|
117
123
|
alias messages to_hash
|
|
124
|
+
alias group_by_attribute to_hash
|
|
118
125
|
alias as_json to_hash
|
|
119
126
|
|
|
120
127
|
def values
|
data/lib/lite/errors/version.rb
CHANGED
data/lite-errors.gemspec
CHANGED
|
@@ -25,7 +25,7 @@ Gem::Specification.new do |spec|
|
|
|
25
25
|
)
|
|
26
26
|
else
|
|
27
27
|
raise 'RubyGems 2.0 or newer is required to protect against ' \
|
|
28
|
-
|
|
28
|
+
'public gem pushes.'
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
# Specify which files should be added to the gem when it is released.
|
|
@@ -43,5 +43,6 @@ Gem::Specification.new do |spec|
|
|
|
43
43
|
spec.add_development_dependency 'rspec'
|
|
44
44
|
spec.add_development_dependency 'rubocop'
|
|
45
45
|
spec.add_development_dependency 'rubocop-performance'
|
|
46
|
+
spec.add_development_dependency 'rubocop-rake'
|
|
46
47
|
spec.add_development_dependency 'rubocop-rspec'
|
|
47
48
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lite-errors
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.
|
|
4
|
+
version: 1.2.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Juan Gomez
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-07-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -94,6 +94,20 @@ dependencies:
|
|
|
94
94
|
- - ">="
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
96
|
version: '0'
|
|
97
|
+
- !ruby/object:Gem::Dependency
|
|
98
|
+
name: rubocop-rake
|
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
type: :development
|
|
105
|
+
prerelease: false
|
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
+
requirements:
|
|
108
|
+
- - ">="
|
|
109
|
+
- !ruby/object:Gem::Version
|
|
110
|
+
version: '0'
|
|
97
111
|
- !ruby/object:Gem::Dependency
|
|
98
112
|
name: rubocop-rspec
|
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -108,7 +122,7 @@ dependencies:
|
|
|
108
122
|
- - ">="
|
|
109
123
|
- !ruby/object:Gem::Version
|
|
110
124
|
version: '0'
|
|
111
|
-
description:
|
|
125
|
+
description:
|
|
112
126
|
email:
|
|
113
127
|
- j.gomez@drexed.com
|
|
114
128
|
executables: []
|
|
@@ -138,7 +152,7 @@ homepage: http://drexed.github.io/lite-errors
|
|
|
138
152
|
licenses:
|
|
139
153
|
- MIT
|
|
140
154
|
metadata: {}
|
|
141
|
-
post_install_message:
|
|
155
|
+
post_install_message:
|
|
142
156
|
rdoc_options: []
|
|
143
157
|
require_paths:
|
|
144
158
|
- lib
|
|
@@ -153,8 +167,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
153
167
|
- !ruby/object:Gem::Version
|
|
154
168
|
version: '0'
|
|
155
169
|
requirements: []
|
|
156
|
-
rubygems_version: 3.
|
|
157
|
-
signing_key:
|
|
170
|
+
rubygems_version: 3.2.24
|
|
171
|
+
signing_key:
|
|
158
172
|
specification_version: 4
|
|
159
173
|
summary: Build ActiveModel::Errors like errors in Ruby
|
|
160
174
|
test_files: []
|