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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c6561c68df66acd9f7e643ceb9897c3cafe2e28276243401c8150fb2ecf8793f
4
- data.tar.gz: 96b4e3c775aee8967754e8ba536ce0a53d6de9436b560e5bf03832f02f68ddbf
3
+ metadata.gz: 78cd57e5f6561e874acabd1df9c5b2e13d4d0c79d632709d1d4e6037ca46c217
4
+ data.tar.gz: a9cc4c1f2b704e974815b26d4fc283f55ab72f8778aa23a9cf4b330da5f09c3c
5
5
  SHA512:
6
- metadata.gz: 264c9c047bbaf36a606123ea36c2df1cc56ea9c9b40a3db1248885878c9c65ca3aed9df788c4ea42adf38bff97fb8d54854fd2d7f650d421f8aeffa5ce1abee0
7
- data.tar.gz: cb8c395c5a1da2257400802b961527eb58dc3e5dad1f8351b8a0c9f6c0a182321b34d0dd0822b9dd2ff60f4d4a9485df8b366f4044c92adc921645862e38bf96
6
+ metadata.gz: 6bd05338be06bcb912abba4a701f6c80c122cb29359262976519711e4329b1b24d5b4c763ab95fac64a2e18e63228b8de3be381ec14fe8a287e31dfc4f1181ab
7
+ data.tar.gz: a6af8085ae1dbc016c2c2ab53a7abf8c73060e15b2f67742fbe0e5ed2d7f113dd8cf841cedb35d7b58bfd772f2bda217f164f8f1035d4eea1fff238595f31f97
@@ -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 = I18n.t("errorio.messages.#{code}", **args)
29
+ msg = t_msg(code, args)
14
30
  {
15
31
  code: code,
16
32
  message: msg
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Errorio
2
- VERSION = '0.1.7'.freeze
2
+ VERSION = '0.1.9'.freeze
3
3
  end
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.7
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: 2021-11-16 00:00:00.000000000 Z
11
+ date: 2022-09-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler