errawr 1.1.4 → 1.1.5
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/errawr/error.rb +14 -5
- data/lib/errawr/version.rb +1 -1
- data/spec/errawr_spec.rb +16 -0
- data/spec/error_spec.rb +0 -5
- data/spec/mapper_spec.rb +18 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9cdb0163333b17834affa6e46695e686854e55af
|
4
|
+
data.tar.gz: 03d483953b7d9475bda81f4736374ab14f7af06f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f7e2436befdf2d0bde0d5cbaa3ce7966e13a44e7dbd7e33472086386e4754a475728518051980d9fd53728f404ef424bb4cbc6d1d4832471a31ed082d6c6967b
|
7
|
+
data.tar.gz: e5697f37f96b376adbc6b3705cbef2e1adfa6d6e2607dd995cb585a91a3fc6140649c6a06d688245f28fa0c6c7d92cbb0e4bf64c0e694451624948cd45610517
|
data/lib/errawr/error.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Errawr
|
2
2
|
class Error < StandardError
|
3
|
-
attr_reader :key, :context, :metadata
|
3
|
+
attr_reader :key, :context, :metadata
|
4
4
|
|
5
5
|
def initialize(key = :unknown, context = {})
|
6
6
|
@key = key
|
@@ -10,13 +10,18 @@ module Errawr
|
|
10
10
|
process_message
|
11
11
|
end
|
12
12
|
|
13
|
+
def message
|
14
|
+
@context[:message]
|
15
|
+
end
|
16
|
+
|
13
17
|
private
|
14
18
|
def process_context(context)
|
15
19
|
if @i18n.kind_of?(Hash)
|
16
20
|
@context = @i18n.merge(context)
|
17
21
|
@context.delete(:metadata)
|
22
|
+
@message_overridden = context.include?(:message)
|
18
23
|
else
|
19
|
-
@context =
|
24
|
+
@context = context
|
20
25
|
end
|
21
26
|
end
|
22
27
|
|
@@ -29,10 +34,14 @@ module Errawr
|
|
29
34
|
|
30
35
|
def process_message
|
31
36
|
if @i18n.kind_of?(Hash)
|
32
|
-
|
33
|
-
|
37
|
+
if @message_overridden
|
38
|
+
@context[:message]
|
39
|
+
else
|
40
|
+
key = 'errawr.' + @key.to_s + '.message'
|
41
|
+
@context[:message] = I18n.t(key, @context.merge({ default: I18n.t('errawr.unknown', @context) }))
|
42
|
+
end
|
34
43
|
else
|
35
|
-
@message = I18n.t('errawr.' + @key.to_s, @context)
|
44
|
+
@context[:message] = I18n.t('errawr.' + @key.to_s, @context) unless @context[:message]
|
36
45
|
end
|
37
46
|
end
|
38
47
|
end
|
data/lib/errawr/version.rb
CHANGED
data/spec/errawr_spec.rb
CHANGED
@@ -60,5 +60,21 @@ describe Errawr do
|
|
60
60
|
e.message.should == 'Some error has occurred: interpolated message'
|
61
61
|
end
|
62
62
|
end
|
63
|
+
|
64
|
+
it 'should return an overridden message for a non-hashed locale' do
|
65
|
+
begin
|
66
|
+
Errawr.error!(:some_error, message: 'Overridden error message')
|
67
|
+
rescue => e
|
68
|
+
e.message.should == 'Overridden error message'
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'should return an overridden message for a hashed locale' do
|
73
|
+
begin
|
74
|
+
Errawr.error!(:error_hash, message: 'Overridden error message')
|
75
|
+
rescue => e
|
76
|
+
e.message.should == 'Overridden error message'
|
77
|
+
end
|
78
|
+
end
|
63
79
|
end
|
64
80
|
end
|
data/spec/error_spec.rb
CHANGED
@@ -20,9 +20,4 @@ describe Errawr::Error do
|
|
20
20
|
error = Errawr::Error.new(:bad_error_hash)
|
21
21
|
error.message.should == 'An unknown error has occurred'
|
22
22
|
end
|
23
|
-
|
24
|
-
it 'should insert custom values into the context if I18n value is a hash' do
|
25
|
-
error = Errawr::Error.new(:error_hash)
|
26
|
-
error.metadata[:name].should == 'error_name'
|
27
|
-
end
|
28
23
|
end
|
data/spec/mapper_spec.rb
CHANGED
@@ -36,5 +36,23 @@ describe Errawr::Mapper do
|
|
36
36
|
e.metadata.include?(:error).should be_false
|
37
37
|
end
|
38
38
|
end
|
39
|
+
|
40
|
+
it 'should return an overridden message for a non-hashed locale' do
|
41
|
+
Errawr.register!(:some_error, message: 'Overridden error message')
|
42
|
+
begin
|
43
|
+
Errawr.error!(:some_error)
|
44
|
+
rescue => e
|
45
|
+
e.message.should == 'Overridden error message'
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
it 'should return an overridden message for a hashed locale' do
|
50
|
+
Errawr.register!(:error_hash, message: 'Overridden error message')
|
51
|
+
begin
|
52
|
+
Errawr.error!(:error_hash)
|
53
|
+
rescue => e
|
54
|
+
e.message.should == 'Overridden error message'
|
55
|
+
end
|
56
|
+
end
|
39
57
|
end
|
40
58
|
end
|