lite-errors 1.0.1 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d4eaa04d945498658217b31777776073e1b86e43ffa19bf4f04991f5165cfcc9
4
- data.tar.gz: 9f7980b8485897c4dc79c49ff54a973b55ab9fbe95e4c6ca36185ac1cba83bd0
3
+ metadata.gz: 04a784794ba9aa6e1944bf5a96757f2807327482218dbe3f16396977c20371f4
4
+ data.tar.gz: 61b73313504f5cd116e3f64d555ee3d3dfd5c50b46b788bcce84f672b28e0974
5
5
  SHA512:
6
- metadata.gz: 27632cf35daaa80f6c4505447cce5ca33199d506188b99f6fefd0c2ea5d5da6f5a794e80d8b91f62c59d11818c06dc9d45a0ee322e4c9ad8f76e80e866e8ed8c
7
- data.tar.gz: 3e14ffe469b9425a1467ac27f481c19a4e95d520a6de3db050d7a5977b9b09ee6d6a35b9f78cd1622c6b57bd2b6863daf860c418090f9589254455358bc9746a
6
+ metadata.gz: 21a0a59af693705a89f5593991cef055d4e2ae98579ac2b1f7f670920283144d53e3ec0c97f451d7b9ac7b38f1e25f9c5bf532ffa6c5dd59713bc0b91ecc1714
7
+ data.tar.gz: 7e7b38eb14a27f56dcbde51fdf6106c1d1651ed30c0adae403d4cb1d7fd2ead878dcab83f582c318fc8a59a1f3c103c15b0ce1496ab23bafbfdaa35e2ef6d388
data/.rubocop.yml CHANGED
@@ -2,18 +2,29 @@ require:
2
2
  - rubocop-performance
3
3
  - rubocop-rspec
4
4
  AllCops:
5
- TargetRubyVersion: 2.6
5
+ TargetRubyVersion: 2.7
6
+ NewCops: enable
6
7
  DisplayCopNames: true
7
8
  DisplayStyleGuide: true
8
- LineLength:
9
- Max: 100
9
+ Gemspec/RequiredRubyVersion:
10
+ Enabled: false
11
+ Layout/EmptyLinesAroundAttributeAccessor:
12
+ Enabled: true
10
13
  Layout/EmptyLinesAroundBlockBody:
11
14
  Exclude:
12
15
  - 'spec/**/**/*'
13
16
  Layout/EmptyLinesAroundClassBody:
14
- EnforcedStyle: empty_lines
17
+ EnforcedStyle: empty_lines_except_namespace
15
18
  Layout/EmptyLinesAroundModuleBody:
16
19
  EnforcedStyle: empty_lines_except_namespace
20
+ Layout/LineLength:
21
+ Max: 100
22
+ Layout/SpaceAroundMethodCallOperator:
23
+ Enabled: true
24
+ Lint/RaiseException:
25
+ Enabled: true
26
+ Lint/StructNewOverride:
27
+ Enabled: true
17
28
  Metrics/BlockLength:
18
29
  Exclude:
19
30
  - 'spec/**/**/*'
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
- - 2.5
7
- - 2.6
8
- - ruby-head
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
- - rvm: ruby-head
12
+ - rvm: ruby-head
13
13
  before_install:
14
- - gem update --system
15
- - gem install bundler
14
+ - gem update --system
15
+ - gem install bundler
16
16
  install:
17
- - bundle install --jobs=3 --retry=3
17
+ - bundle install --jobs=3 --retry=3
18
18
  script:
19
- - bundle exec rspec
20
- # - bundle exec fasterer
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,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.1.0] - 2021-06-03
10
+ ### Added
11
+ - Added methods for Rails 6.1 changes
12
+
13
+ ## [1.0.1] - 2019-06-24
14
+ ### Added
15
+ - Added ruby 2.7 support
16
+ ### Changed
17
+ - Changed `slice!` method to accept multiple args
18
+
9
19
  ## [1.0.0] - 2019-06-24
10
20
  ### Added
11
21
  - Initial project version
data/Gemfile.lock CHANGED
@@ -1,52 +1,59 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- lite-errors (1.0.1)
4
+ lite-errors (1.1.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
- ast (2.4.0)
9
+ ast (2.4.2)
10
10
  colorize (0.8.1)
11
- diff-lcs (1.3)
12
- fasterer (0.5.1)
11
+ diff-lcs (1.4.4)
12
+ fasterer (0.9.0)
13
13
  colorize (~> 0.7)
14
- ruby_parser (>= 3.13.0)
15
- jaro_winkler (1.5.3)
16
- parallel (1.17.0)
17
- parser (2.6.3.0)
18
- ast (~> 2.4.0)
14
+ ruby_parser (>= 3.14.1)
15
+ parallel (1.20.1)
16
+ parser (3.0.1.1)
17
+ ast (~> 2.4.1)
19
18
  rainbow (3.0.0)
20
- rake (12.3.2)
21
- rspec (3.8.0)
22
- rspec-core (~> 3.8.0)
23
- rspec-expectations (~> 3.8.0)
24
- rspec-mocks (~> 3.8.0)
25
- rspec-core (3.8.1)
26
- rspec-support (~> 3.8.0)
27
- rspec-expectations (3.8.4)
19
+ rake (13.0.3)
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)
28
29
  diff-lcs (>= 1.2.0, < 2.0)
29
- rspec-support (~> 3.8.0)
30
- rspec-mocks (3.8.1)
30
+ rspec-support (~> 3.10.0)
31
+ rspec-mocks (3.10.2)
31
32
  diff-lcs (>= 1.2.0, < 2.0)
32
- rspec-support (~> 3.8.0)
33
- rspec-support (3.8.2)
34
- rubocop (0.71.0)
35
- jaro_winkler (~> 1.5.1)
33
+ rspec-support (~> 3.10.0)
34
+ rspec-support (3.10.2)
35
+ rubocop (1.16.0)
36
36
  parallel (~> 1.10)
37
- parser (>= 2.6)
37
+ parser (>= 3.0.0.0)
38
38
  rainbow (>= 2.2.2, < 4.0)
39
+ regexp_parser (>= 1.8, < 3.0)
40
+ rexml
41
+ rubocop-ast (>= 1.7.0, < 2.0)
39
42
  ruby-progressbar (~> 1.7)
40
- unicode-display_width (>= 1.4.0, < 1.7)
41
- rubocop-performance (1.4.0)
42
- rubocop (>= 0.71.0)
43
- rubocop-rspec (1.33.0)
44
- rubocop (>= 0.60.0)
45
- ruby-progressbar (1.10.1)
46
- ruby_parser (3.13.1)
47
- sexp_processor (~> 4.9)
48
- sexp_processor (4.12.1)
49
- unicode-display_width (1.6.0)
43
+ unicode-display_width (>= 1.4.0, < 3.0)
44
+ rubocop-ast (1.7.0)
45
+ parser (>= 3.0.1.1)
46
+ rubocop-performance (1.11.3)
47
+ rubocop (>= 1.7.0, < 2.0)
48
+ rubocop-ast (>= 0.4.0)
49
+ rubocop-rspec (2.3.0)
50
+ rubocop (~> 1.0)
51
+ rubocop-ast (>= 1.1.0)
52
+ ruby-progressbar (1.11.0)
53
+ ruby_parser (3.16.0)
54
+ sexp_processor (~> 4.15, >= 4.15.1)
55
+ sexp_processor (4.15.3)
56
+ unicode-display_width (2.0.0)
50
57
 
51
58
  PLATFORMS
52
59
  ruby
@@ -62,4 +69,4 @@ DEPENDENCIES
62
69
  rubocop-rspec
63
70
 
64
71
  BUNDLED WITH
65
- 2.0.1
72
+ 2.2.19
data/README.md CHANGED
@@ -4,7 +4,9 @@
4
4
  [![Build Status](https://travis-ci.org/drexed/lite-errors.svg?branch=master)](https://travis-ci.org/drexed/lite-errors)
5
5
 
6
6
  Lite::Errors provides an API for generating and accessing error messages.
7
- There are few handy methods for interacting with errors so we encourage you to look through the lib files.
7
+ The API is ~90% compatible with `ActiveModel::Errors` and there are few
8
+ extra handy methods for interacting with errors so we encourage you to
9
+ look through the lib files.
8
10
 
9
11
  **NOTE:** If you are coming from `ActiveErrors`, please read the [port](#port) section.
10
12
 
@@ -26,14 +28,8 @@ Or install it yourself as:
26
28
 
27
29
  ## Table of Contents
28
30
 
29
- * [Port](#port)
30
31
  * [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`.
32
+ * [Port](#port)
37
33
 
38
34
  ## Usage
39
35
 
@@ -63,6 +59,12 @@ class Shipment
63
59
  end
64
60
  ```
65
61
 
62
+ ## Port
63
+
64
+ `Lite::Errors` is a compatible port of [ActiveErrors](https://github.com/drexed/active_errors).
65
+
66
+ Switching is as easy as renaming `ActiveError::Messages` to `Lite::Errors::Messages`.
67
+
66
68
  ## Development
67
69
 
68
70
  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.
@@ -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
@@ -106,6 +110,7 @@ module Lite
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
@@ -3,7 +3,7 @@
3
3
  module Lite
4
4
  module Errors
5
5
 
6
- VERSION ||= '1.0.1'
6
+ VERSION = '1.1.0'
7
7
 
8
8
  end
9
9
  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.0.1
4
+ version: 1.1.0
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: 2019-06-24 00:00:00.000000000 Z
11
+ date: 2021-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -108,7 +108,7 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
- description:
111
+ description:
112
112
  email:
113
113
  - j.gomez@drexed.com
114
114
  executables: []
@@ -138,7 +138,7 @@ homepage: http://drexed.github.io/lite-errors
138
138
  licenses:
139
139
  - MIT
140
140
  metadata: {}
141
- post_install_message:
141
+ post_install_message:
142
142
  rdoc_options: []
143
143
  require_paths:
144
144
  - lib
@@ -153,8 +153,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
153
153
  - !ruby/object:Gem::Version
154
154
  version: '0'
155
155
  requirements: []
156
- rubygems_version: 3.0.4
157
- signing_key:
156
+ rubygems_version: 3.2.19
157
+ signing_key:
158
158
  specification_version: 4
159
159
  summary: Build ActiveModel::Errors like errors in Ruby
160
160
  test_files: []