errorio 0.1.7 → 0.1.9
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/lib/errorio/details.rb +17 -1
- data/lib/errorio/errors.rb +1 -1
- data/lib/errorio/version.rb +1 -1
- data/lib/errorio.rb +12 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 78cd57e5f6561e874acabd1df9c5b2e13d4d0c79d632709d1d4e6037ca46c217
|
4
|
+
data.tar.gz: a9cc4c1f2b704e974815b26d4fc283f55ab72f8778aa23a9cf4b330da5f09c3c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6bd05338be06bcb912abba4a701f6c80c122cb29359262976519711e4329b1b24d5b4c763ab95fac64a2e18e63228b8de3be381ec14fe8a287e31dfc4f1181ab
|
7
|
+
data.tar.gz: a6af8085ae1dbc016c2c2ab53a7abf8c73060e15b2f67742fbe0e5ed2d7f113dd8cf841cedb35d7b58bfd772f2bda217f164f8f1035d4eea1fff238595f31f97
|
data/lib/errorio/details.rb
CHANGED
@@ -1,6 +1,17 @@
|
|
1
1
|
module Errorio
|
2
2
|
# Some helpers
|
3
3
|
class Details
|
4
|
+
# Interpolate error message from i18n
|
5
|
+
#
|
6
|
+
# @param [Symbol] code
|
7
|
+
# @param [Hash] args
|
8
|
+
#
|
9
|
+
# @return [String]
|
10
|
+
#
|
11
|
+
def self.t_msg(code, args = {})
|
12
|
+
I18n.t("errorio.messages.#{code}", **args)
|
13
|
+
end
|
14
|
+
|
4
15
|
# Error details by code:
|
5
16
|
#
|
6
17
|
# errors.add :base, :invalid, Errorio.by_code(:E0001, user_id: 129)
|
@@ -9,8 +20,13 @@ module Errorio
|
|
9
20
|
# message: "Invitation from user with ID 1823 was expired"
|
10
21
|
# invited_by: 1823
|
11
22
|
# }
|
23
|
+
#
|
24
|
+
# @param [Symbol] code
|
25
|
+
# @param [Hash] args
|
26
|
+
#
|
27
|
+
# @return [Hash]
|
12
28
|
def self.by_code(code, args = {})
|
13
|
-
msg =
|
29
|
+
msg = t_msg(code, args)
|
14
30
|
{
|
15
31
|
code: code,
|
16
32
|
message: msg
|
data/lib/errorio/errors.rb
CHANGED
@@ -35,7 +35,7 @@ module Errorio
|
|
35
35
|
# ActiveModel::Error object has own way to generate message attribute,
|
36
36
|
# try to copy message as the property of `options`
|
37
37
|
|
38
|
-
if err.is_a?(ActiveModel::Error) || err.is_a?(ActiveModel::NestedError) && options[:message].blank?
|
38
|
+
if (err.is_a?(ActiveModel::Error) || err.is_a?(ActiveModel::NestedError)) && options[:message].blank?
|
39
39
|
options[:message] = err.message
|
40
40
|
end
|
41
41
|
add err.attribute, err.type, options
|
data/lib/errorio/version.rb
CHANGED
data/lib/errorio.rb
CHANGED
@@ -105,9 +105,21 @@ module Errorio
|
|
105
105
|
# Error details with code
|
106
106
|
#
|
107
107
|
# errors.add :base, :invalid, Errorio.by_code(:E0001, user_id: 129)
|
108
|
+
#
|
108
109
|
def by_code(*args)
|
109
110
|
Details.by_code(*args)
|
110
111
|
end
|
112
|
+
|
113
|
+
# Interpolate error message from i18n
|
114
|
+
#
|
115
|
+
# @param [Symbol] code
|
116
|
+
# @param [Hash{Symbol->Object}] args
|
117
|
+
#
|
118
|
+
# @return [String]
|
119
|
+
#
|
120
|
+
def message(code, args = {})
|
121
|
+
Details.t_msg(code, args)
|
122
|
+
end
|
111
123
|
end
|
112
124
|
|
113
125
|
def self.included(base)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: errorio
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vadym Lukavyi
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-09-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|