active_model-better_errors 1.6.3 → 1.6.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.
Files changed (71) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +37 -0
  3. data/.rspec +4 -1
  4. data/.ruby-gemset +1 -0
  5. data/.travis.yml +5 -1
  6. data/Gemfile +9 -13
  7. data/Gemfile.devtools +66 -0
  8. data/Guardfile +32 -0
  9. data/LICENSE.txt +2 -0
  10. data/README.md +12 -10
  11. data/Rakefile +20 -49
  12. data/active_model-better_errors.gemspec +27 -107
  13. data/config/devtools.yml +4 -0
  14. data/config/flay.yml +3 -0
  15. data/config/flog.yml +2 -0
  16. data/config/mutant.yml +3 -0
  17. data/config/reek.yml +103 -0
  18. data/config/rubocop.yml +62 -0
  19. data/config/yardstick.yml +2 -0
  20. data/lib/active_model/better_errors.rb +64 -4
  21. data/lib/active_model/better_errors/array_reporter.rb +14 -0
  22. data/lib/active_model/{error_collecting → better_errors}/emulation.rb +15 -8
  23. data/lib/active_model/{error_collecting → better_errors}/error_collection.rb +14 -6
  24. data/lib/active_model/{error_collecting → better_errors}/error_message.rb +16 -5
  25. data/lib/active_model/{error_collecting → better_errors}/error_message_set.rb +7 -2
  26. data/lib/active_model/{error_collecting → better_errors}/errors.rb +10 -3
  27. data/lib/active_model/better_errors/formatter.rb +26 -0
  28. data/lib/active_model/better_errors/hash_reporter.rb +14 -0
  29. data/lib/active_model/{error_collecting → better_errors}/human_array_reporter.rb +6 -1
  30. data/lib/active_model/{error_collecting → better_errors}/human_hash_reporter.rb +8 -3
  31. data/lib/active_model/better_errors/human_message_formatter.rb +66 -0
  32. data/lib/active_model/{error_collecting → better_errors}/human_message_reporter.rb +19 -12
  33. data/lib/active_model/{error_collecting → better_errors}/machine_array_reporter.rb +10 -2
  34. data/lib/active_model/{error_collecting → better_errors}/machine_hash_reporter.rb +10 -3
  35. data/lib/active_model/{error_collecting → better_errors}/message_reporter.rb +10 -5
  36. data/lib/active_model/{error_collecting → better_errors}/reporter.rb +7 -2
  37. data/lib/active_model/better_errors/version.rb +10 -0
  38. data/spec/spec_helper.rb +19 -10
  39. data/spec/support/i18n_deprecation_silence.rb +4 -0
  40. data/spec/support/models.rb +11 -4
  41. data/spec/support/string_ext.rb +14 -0
  42. data/spec/{lib/active_model/error_collecting → unit/lib/active_model/better_errors}/emulation_spec.rb +8 -6
  43. data/spec/{lib/active_model/error_collecting → unit/lib/active_model/better_errors}/error_collection_spec.rb +66 -62
  44. data/spec/{lib/active_model/error_collecting → unit/lib/active_model/better_errors}/error_message_set_spec.rb +27 -25
  45. data/spec/unit/lib/active_model/better_errors/error_message_spec.rb +315 -0
  46. data/spec/unit/lib/active_model/better_errors/errors_spec.rb +98 -0
  47. data/spec/unit/lib/active_model/better_errors/human_array_reporter_spec.rb +39 -0
  48. data/spec/unit/lib/active_model/better_errors/human_hash_reporter_spec.rb +37 -0
  49. data/spec/{lib/active_model/error_collecting → unit/lib/active_model/better_errors}/human_message_formatter_spec.rb +13 -7
  50. data/spec/unit/lib/active_model/better_errors/human_message_reporter_spec.rb +65 -0
  51. data/spec/unit/lib/active_model/better_errors/machine_array_reporter_spec.rb +45 -0
  52. data/spec/unit/lib/active_model/better_errors/machine_hash_reporter_spec.rb +45 -0
  53. data/spec/unit/lib/active_model/better_errors_spec.rb +37 -0
  54. metadata +98 -143
  55. data/.document +0 -5
  56. data/VERSION +0 -1
  57. data/lib/active_model/error_collecting.rb +0 -49
  58. data/lib/active_model/error_collecting/array_reporter.rb +0 -9
  59. data/lib/active_model/error_collecting/core_ext.rb +0 -6
  60. data/lib/active_model/error_collecting/hash_reporter.rb +0 -9
  61. data/lib/active_model/error_collecting/human_message_formatter.rb +0 -58
  62. data/spec/lib/active_model/better_errors_spec.rb +0 -7
  63. data/spec/lib/active_model/error_collecting/error_message_spec.rb +0 -293
  64. data/spec/lib/active_model/error_collecting/errors_spec.rb +0 -95
  65. data/spec/lib/active_model/error_collecting/human_array_reporter_spec.rb +0 -33
  66. data/spec/lib/active_model/error_collecting/human_hash_reporter_spec.rb +0 -32
  67. data/spec/lib/active_model/error_collecting/human_message_reporter_spec.rb +0 -61
  68. data/spec/lib/active_model/error_collecting/machine_array_reporter_spec.rb +0 -40
  69. data/spec/lib/active_model/error_collecting/machine_hash_reporter_spec.rb +0 -40
  70. data/spec/lib/active_model/error_collecting_spec.rb +0 -22
  71. data/test/integration.rb +0 -10
@@ -0,0 +1,98 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe ActiveModel::BetterErrors::Errors do
6
+ subject(:instance) { klass.new base }
7
+ let(:klass) { ActiveModel::BetterErrors::Errors }
8
+ let(:base) { User.new }
9
+ let(:reporter_name) { :mock }
10
+ let(:mock_reporter) do
11
+ Class.new do
12
+ def initialize(collection)
13
+ end
14
+ end
15
+ end
16
+
17
+ before { ActiveModel::BetterErrors.set_reporter(:mock, mock_reporter) }
18
+ after { ActiveModel::BetterErrors.set_reporter(:mock, nil) }
19
+
20
+ describe '#initialize' do
21
+ its(:base) { should be base }
22
+ end
23
+
24
+ describe '#error_collection' do
25
+ subject { instance.error_collection }
26
+ it { should be_a ActiveModel::BetterErrors::ErrorCollection }
27
+ its(:base) { should be base }
28
+ end
29
+
30
+ describe '#message_reporter' do
31
+ subject { instance.message_reporter }
32
+ before do
33
+ instance
34
+ .should_receive(:get_reporter)
35
+ .with(:message)
36
+ .and_return(mock_reporter)
37
+ end
38
+
39
+ it { should be mock_reporter }
40
+ end
41
+
42
+ describe '#hash_reporter' do
43
+ subject { instance.hash_reporter }
44
+ before do
45
+ instance
46
+ .should_receive(:get_reporter)
47
+ .with(:hash)
48
+ .and_return(mock_reporter)
49
+ end
50
+
51
+ it { should be mock_reporter }
52
+ end
53
+
54
+ describe '#array_reporter' do
55
+ subject { instance.array_reporter }
56
+ before do
57
+ instance
58
+ .should_receive(:get_reporter)
59
+ .with(:array)
60
+ .and_return(mock_reporter)
61
+ end
62
+
63
+ it { should be mock_reporter }
64
+ end
65
+
66
+ describe '#set_reporter' do
67
+ before { instance.get_reporter(:mock) }
68
+ it 'should set the reporter class' do
69
+ instance.set_reporter reporter_name, mock_reporter
70
+ reporter_classes = instance.instance_variable_get(:@reporter_classes)
71
+ reporter_classes[reporter_name.to_s].should == mock_reporter
72
+ end
73
+
74
+ it 'should delete old reporter instance' do
75
+ reporters = instance.instance_variable_get(:@reporters)
76
+ reporters[reporter_name] = double
77
+ instance.set_reporter reporter_name, mock_reporter
78
+ reporters.key?(reporter_name.to_s).should be false
79
+ end
80
+ end
81
+
82
+ describe '#get_reporter_class' do
83
+ subject { instance.get_reporter_class(reporter_name) }
84
+ before { instance.set_reporter reporter_name, mock_reporter }
85
+ it { should == mock_reporter }
86
+ end
87
+
88
+ describe '#get_reporter' do
89
+ subject { instance.get_reporter(reporter_name) }
90
+ before { instance.set_reporter reporter_name, mock_reporter }
91
+ it { should be_a mock_reporter }
92
+ end
93
+
94
+ describe '#reporter_classes' do
95
+ subject { instance.reporter_classes }
96
+ it { should == ::ActiveModel::BetterErrors.reporters }
97
+ end
98
+ end
@@ -0,0 +1,39 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe ActiveModel::BetterErrors::HumanArrayReporter do
6
+ subject { reporter }
7
+ let(:reporter) { klass.new collection }
8
+ let(:klass) { ActiveModel::BetterErrors::HumanArrayReporter }
9
+ let(:collection) { ActiveModel::BetterErrors::ErrorCollection.new base }
10
+ let(:base) { User.new }
11
+
12
+ describe '#initialize' do
13
+ its(:collection) { should be collection }
14
+ end
15
+
16
+ describe '#base' do
17
+ its(:base) { should be base }
18
+ end
19
+
20
+ describe '#to_a' do
21
+ subject { reporter.to_a }
22
+ let(:expected) do
23
+ %w(foo bar)
24
+ end
25
+
26
+ before do
27
+ message_reporter = double
28
+ ActiveModel::BetterErrors::HumanMessageReporter
29
+ .should_receive(:new)
30
+ .and_return(message_reporter)
31
+
32
+ message_reporter
33
+ .should_receive(:full_messages)
34
+ .and_return(expected)
35
+ end
36
+
37
+ it { should == expected }
38
+ end
39
+ end
@@ -0,0 +1,37 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe ActiveModel::BetterErrors::HumanHashReporter do
6
+ subject { reporter }
7
+ let(:reporter) { klass.new collection }
8
+ let(:klass) { ActiveModel::BetterErrors::HumanHashReporter }
9
+ let(:collection) { ActiveModel::BetterErrors::ErrorCollection.new base }
10
+ let(:base) { User.new }
11
+
12
+ describe '#initialize' do
13
+ its(:collection) { should be collection }
14
+ end
15
+
16
+ describe '#base' do
17
+ its(:base) { should be base }
18
+ end
19
+
20
+ describe '#to_hash' do
21
+ subject { reporter.to_hash }
22
+ let(:expected) do
23
+ {
24
+ first_name: ['is invalid', "can't be empty"],
25
+ last_name: ['is invalid']
26
+ }
27
+ end
28
+
29
+ before do
30
+ collection[:first_name] << :invalid
31
+ collection[:first_name] << :empty
32
+ collection[:last_name] << :invalid
33
+ end
34
+
35
+ it { should == expected }
36
+ end
37
+ end
@@ -1,12 +1,18 @@
1
+ # encoding: utf-8
2
+
1
3
  require 'spec_helper'
2
4
 
3
- describe ActiveModel::ErrorCollecting::HumanMessageFormatter do
5
+ describe ActiveModel::BetterErrors::HumanMessageFormatter do
4
6
  subject(:formatter) { klass.new base, error_message }
5
- let(:klass) { ActiveModel::ErrorCollecting::HumanMessageFormatter }
7
+ let(:klass) { ActiveModel::BetterErrors::HumanMessageFormatter }
6
8
  let(:base) { User.new }
7
- let(:error_message) { ActiveModel::ErrorCollecting::ErrorMessage.build base, :first_name, :invalid }
9
+ let(:error_message) do
10
+ ActiveModel::BetterErrors::ErrorMessage.build(
11
+ base, :first_name, :invalid
12
+ )
13
+ end
8
14
 
9
- describe "#initialize" do
15
+ describe '#initialize' do
10
16
  its(:base) { should be base }
11
17
  its(:error_message) { should be error_message }
12
18
  its(:attribute) { should be error_message.attribute }
@@ -15,8 +21,8 @@ describe ActiveModel::ErrorCollecting::HumanMessageFormatter do
15
21
  its(:options) { should be error_message.options }
16
22
  end
17
23
 
18
- describe "#format_message" do
24
+ describe '#format_message' do
19
25
  subject { formatter.format_message }
20
- it { should == "is invalid" }
26
+ it { should == 'is invalid' }
21
27
  end
22
- end
28
+ end
@@ -0,0 +1,65 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe ActiveModel::BetterErrors::HumanMessageReporter do
6
+ subject { reporter }
7
+ let(:reporter) { klass.new collection }
8
+ let(:klass) { ActiveModel::BetterErrors::HumanMessageReporter }
9
+ let(:collection) { ActiveModel::BetterErrors::ErrorCollection.new base }
10
+ let(:base) { User.new }
11
+
12
+ describe '#initialize' do
13
+ its(:collection) { should be collection }
14
+ end
15
+
16
+ describe '#base' do
17
+ its(:base) { should be base }
18
+ end
19
+
20
+ describe '#full_message' do
21
+ subject { reporter.full_message attribute, message }
22
+ let(:attribute) { :first_name }
23
+ let(:message) { 'is invalid' }
24
+
25
+ it { should == 'First name is invalid' }
26
+ end
27
+
28
+ describe '#full_messages' do
29
+ subject { reporter.full_messages }
30
+ let(:expected) do
31
+ [
32
+ 'First name is invalid',
33
+ "First name can't be empty",
34
+ 'Last name is invalid'
35
+ ]
36
+ end
37
+
38
+ before do
39
+ collection[:first_name] << :invalid
40
+ collection[:first_name] << :empty
41
+ collection[:last_name] << :invalid
42
+ end
43
+
44
+ it { should == expected }
45
+ end
46
+
47
+ describe '#generate_message' do
48
+ subject { reporter.generate_message attribute, type, options }
49
+ let(:attribute) { :first_name }
50
+
51
+ context 'when passing symbols as message' do
52
+ let(:type) { :too_short }
53
+ let(:options) { { count: 3 } }
54
+ let(:expected) { 'is too short (minimum is 3 characters)' }
55
+ it { should == expected }
56
+ end
57
+
58
+ context 'when passing strings as message' do
59
+ let(:type) { 'foo' }
60
+ let(:options) { nil }
61
+ let(:expected) { type }
62
+ it { should == expected }
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,45 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe ActiveModel::BetterErrors::MachineArrayReporter do
6
+ subject { reporter }
7
+ let(:reporter) { klass.new collection }
8
+ let(:klass) { ActiveModel::BetterErrors::MachineArrayReporter }
9
+ let(:collection) { ActiveModel::BetterErrors::ErrorCollection.new base }
10
+ let(:base) { User.new }
11
+
12
+ describe '#initialize' do
13
+ its(:collection) { should be collection }
14
+ end
15
+
16
+ describe '#base' do
17
+ its(:base) { should be base }
18
+ end
19
+
20
+ describe '#to_a' do
21
+ subject { reporter.to_a }
22
+
23
+ before do
24
+ collection[:first_name] << :invalid
25
+ collection[:first_name] << [:too_short, { count: 3 }]
26
+ collection[:last_name] << :invalid
27
+ end
28
+
29
+ let(:expected) do
30
+ [{
31
+ attribute: 'first_name',
32
+ type: :invalid
33
+ }, {
34
+ attribute: 'first_name',
35
+ type: :too_short,
36
+ options: { count: 3 }
37
+ }, {
38
+ attribute: 'last_name',
39
+ type: :invalid
40
+ }]
41
+ end
42
+
43
+ it { should == expected }
44
+ end
45
+ end
@@ -0,0 +1,45 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe ActiveModel::BetterErrors::MachineHashReporter do
6
+ subject { reporter }
7
+ let(:reporter) { klass.new collection }
8
+ let(:klass) { ActiveModel::BetterErrors::MachineHashReporter }
9
+ let(:collection) { ActiveModel::BetterErrors::ErrorCollection.new base }
10
+ let(:base) { User.new }
11
+
12
+ describe '#initialize' do
13
+ its(:collection) { should be collection }
14
+ end
15
+
16
+ describe '#base' do
17
+ its(:base) { should be base }
18
+ end
19
+
20
+ describe '#to_hash' do
21
+ subject { reporter.to_hash }
22
+
23
+ before do
24
+ collection[:first_name] << :invalid
25
+ collection[:first_name] << [:too_short, { count: 3 }]
26
+ collection[:last_name] << :invalid
27
+ end
28
+
29
+ let(:expected) do
30
+ {
31
+ first_name: [{
32
+ type: :invalid
33
+ }, {
34
+ type: :too_short,
35
+ options: { count: 3 }
36
+ }],
37
+ last_name: [{
38
+ type: :invalid
39
+ }]
40
+ }
41
+ end
42
+
43
+ it { should == expected }
44
+ end
45
+ end
@@ -0,0 +1,37 @@
1
+ # encoding: utf-8
2
+
3
+ require 'spec_helper'
4
+
5
+ describe ActiveModel::BetterErrors do
6
+ describe '.set_reporter' do
7
+ subject { ActiveModel::BetterErrors.reporters[name.to_s] }
8
+ before { ActiveModel::BetterErrors.set_reporter name, reporter }
9
+ after { ActiveModel::BetterErrors.set_reporter name, nil }
10
+ let(:name) { :mock }
11
+ let(:reporter) { Class.new }
12
+ it { should be reporter }
13
+ end
14
+
15
+ describe '.reporters' do
16
+ subject { ActiveModel::BetterErrors.reporters }
17
+ let(:expected) do
18
+ {
19
+ 'message' => ActiveModel::BetterErrors::HumanMessageReporter,
20
+ 'array' => ActiveModel::BetterErrors::HumanArrayReporter,
21
+ 'hash' => ActiveModel::BetterErrors::HumanHashReporter
22
+ }
23
+ end
24
+ it { should == expected }
25
+ end
26
+
27
+ describe '.formatter' do
28
+ subject { ActiveModel::BetterErrors.formatter }
29
+ it { should == ActiveModel::BetterErrors::HumanMessageFormatter }
30
+ end
31
+ end
32
+
33
+ describe 'ActiveModel Better Errors' do
34
+ it 'overrides ActiveModel Validations' do
35
+ User.new.errors.should be_a ActiveModel::BetterErrors::Errors
36
+ end
37
+ end
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_model-better_errors
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.3
5
- prerelease:
4
+ version: 1.6.5
6
5
  platform: ruby
7
6
  authors:
8
7
  - Aaron Qian
@@ -10,265 +9,221 @@ authors:
10
9
  autorequire:
11
10
  bindir: bin
12
11
  cert_chain: []
13
- date: 2013-01-23 00:00:00.000000000 Z
12
+ date: 2014-01-12 00:00:00.000000000 Z
14
13
  dependencies:
15
14
  - !ruby/object:Gem::Dependency
16
15
  name: activemodel
17
16
  requirement: !ruby/object:Gem::Requirement
18
- none: false
19
17
  requirements:
20
- - - ~>
18
+ - - '>='
21
19
  - !ruby/object:Gem::Version
22
20
  version: '3.0'
23
21
  type: :runtime
24
22
  prerelease: false
25
23
  version_requirements: !ruby/object:Gem::Requirement
26
- none: false
27
24
  requirements:
28
- - - ~>
25
+ - - '>='
29
26
  - !ruby/object:Gem::Version
30
27
  version: '3.0'
31
28
  - !ruby/object:Gem::Dependency
32
- name: rake
29
+ name: bundler
33
30
  requirement: !ruby/object:Gem::Requirement
34
- none: false
35
31
  requirements:
36
- - - ! '>='
32
+ - - '>='
37
33
  - !ruby/object:Gem::Version
38
34
  version: '0'
39
35
  type: :development
40
36
  prerelease: false
41
37
  version_requirements: !ruby/object:Gem::Requirement
42
- none: false
43
38
  requirements:
44
- - - ! '>='
39
+ - - '>='
45
40
  - !ruby/object:Gem::Version
46
41
  version: '0'
47
42
  - !ruby/object:Gem::Dependency
48
- name: rspec
49
- requirement: !ruby/object:Gem::Requirement
50
- none: false
51
- requirements:
52
- - - ~>
53
- - !ruby/object:Gem::Version
54
- version: 2.12.0
55
- type: :development
56
- prerelease: false
57
- version_requirements: !ruby/object:Gem::Requirement
58
- none: false
59
- requirements:
60
- - - ~>
61
- - !ruby/object:Gem::Version
62
- version: 2.12.0
63
- - !ruby/object:Gem::Dependency
64
- name: pry
43
+ name: rake
65
44
  requirement: !ruby/object:Gem::Requirement
66
- none: false
67
45
  requirements:
68
- - - ! '>='
46
+ - - '>='
69
47
  - !ruby/object:Gem::Version
70
48
  version: '0'
71
49
  type: :development
72
50
  prerelease: false
73
51
  version_requirements: !ruby/object:Gem::Requirement
74
- none: false
75
52
  requirements:
76
- - - ! '>='
53
+ - - '>='
77
54
  - !ruby/object:Gem::Version
78
55
  version: '0'
79
56
  - !ruby/object:Gem::Dependency
80
- name: yard
57
+ name: rspec
81
58
  requirement: !ruby/object:Gem::Requirement
82
- none: false
83
59
  requirements:
84
- - - ! '>='
60
+ - - ~>
85
61
  - !ruby/object:Gem::Version
86
- version: '0'
62
+ version: 2.12.0
87
63
  type: :development
88
64
  prerelease: false
89
65
  version_requirements: !ruby/object:Gem::Requirement
90
- none: false
91
66
  requirements:
92
- - - ! '>='
67
+ - - ~>
93
68
  - !ruby/object:Gem::Version
94
- version: '0'
69
+ version: 2.12.0
95
70
  - !ruby/object:Gem::Dependency
96
- name: rdoc
71
+ name: mocha
97
72
  requirement: !ruby/object:Gem::Requirement
98
- none: false
99
73
  requirements:
100
- - - ! '>='
74
+ - - '>='
101
75
  - !ruby/object:Gem::Version
102
- version: '0'
76
+ version: 0.12.1
103
77
  type: :development
104
78
  prerelease: false
105
79
  version_requirements: !ruby/object:Gem::Requirement
106
- none: false
107
80
  requirements:
108
- - - ! '>='
81
+ - - '>='
109
82
  - !ruby/object:Gem::Version
110
- version: '0'
83
+ version: 0.12.1
111
84
  - !ruby/object:Gem::Dependency
112
- name: bundler
85
+ name: simplecov
113
86
  requirement: !ruby/object:Gem::Requirement
114
- none: false
115
87
  requirements:
116
- - - ! '>='
88
+ - - '>='
117
89
  - !ruby/object:Gem::Version
118
90
  version: '0'
119
91
  type: :development
120
92
  prerelease: false
121
93
  version_requirements: !ruby/object:Gem::Requirement
122
- none: false
123
94
  requirements:
124
- - - ! '>='
95
+ - - '>='
125
96
  - !ruby/object:Gem::Version
126
97
  version: '0'
127
98
  - !ruby/object:Gem::Dependency
128
- name: jeweler
99
+ name: yard
129
100
  requirement: !ruby/object:Gem::Requirement
130
- none: false
131
101
  requirements:
132
- - - ! '>='
102
+ - - '>='
133
103
  - !ruby/object:Gem::Version
134
104
  version: '0'
135
105
  type: :development
136
106
  prerelease: false
137
107
  version_requirements: !ruby/object:Gem::Requirement
138
- none: false
139
108
  requirements:
140
- - - ! '>='
109
+ - - '>='
141
110
  - !ruby/object:Gem::Version
142
111
  version: '0'
143
112
  - !ruby/object:Gem::Dependency
144
- name: simplecov
113
+ name: rdoc
145
114
  requirement: !ruby/object:Gem::Requirement
146
- none: false
147
115
  requirements:
148
- - - ! '>='
116
+ - - '>='
149
117
  - !ruby/object:Gem::Version
150
118
  version: '0'
151
119
  type: :development
152
120
  prerelease: false
153
121
  version_requirements: !ruby/object:Gem::Requirement
154
- none: false
155
122
  requirements:
156
- - - ! '>='
123
+ - - '>='
157
124
  - !ruby/object:Gem::Version
158
125
  version: '0'
159
- - !ruby/object:Gem::Dependency
160
- name: bcrypt-ruby
161
- requirement: !ruby/object:Gem::Requirement
162
- none: false
163
- requirements:
164
- - - ~>
165
- - !ruby/object:Gem::Version
166
- version: 3.0.0
167
- type: :development
168
- prerelease: false
169
- version_requirements: !ruby/object:Gem::Requirement
170
- none: false
171
- requirements:
172
- - - ~>
173
- - !ruby/object:Gem::Version
174
- version: 3.0.0
175
- - !ruby/object:Gem::Dependency
176
- name: mocha
177
- requirement: !ruby/object:Gem::Requirement
178
- none: false
179
- requirements:
180
- - - ! '>='
181
- - !ruby/object:Gem::Version
182
- version: 0.12.1
183
- type: :development
184
- prerelease: false
185
- version_requirements: !ruby/object:Gem::Requirement
186
- none: false
187
- requirements:
188
- - - ! '>='
189
- - !ruby/object:Gem::Version
190
- version: 0.12.1
191
- description: ActiveModel::Errors class is not designed for API consumption. This gem
192
- allows for that while keeping compatibility with existing rails API.
126
+ description: API consumable error messages with ActiveModel::Errors drop-in compatibility.
193
127
  email:
194
128
  - aq1018@gmail.com
195
129
  - byronanderson32@gmail.com
196
130
  executables: []
197
131
  extensions: []
198
- extra_rdoc_files:
199
- - LICENSE.txt
200
- - README.md
132
+ extra_rdoc_files: []
201
133
  files:
202
- - .document
134
+ - .gitignore
203
135
  - .gitmodules
204
136
  - .rspec
137
+ - .ruby-gemset
205
138
  - .travis.yml
206
139
  - Gemfile
140
+ - Gemfile.devtools
141
+ - Guardfile
207
142
  - LICENSE.txt
208
143
  - README.md
209
144
  - Rakefile
210
- - VERSION
211
145
  - active_model-better_errors.gemspec
146
+ - config/devtools.yml
147
+ - config/flay.yml
148
+ - config/flog.yml
149
+ - config/mutant.yml
150
+ - config/reek.yml
151
+ - config/rubocop.yml
152
+ - config/yardstick.yml
212
153
  - lib/active_model/better_errors.rb
213
- - lib/active_model/error_collecting.rb
214
- - lib/active_model/error_collecting/array_reporter.rb
215
- - lib/active_model/error_collecting/core_ext.rb
216
- - lib/active_model/error_collecting/emulation.rb
217
- - lib/active_model/error_collecting/error_collection.rb
218
- - lib/active_model/error_collecting/error_message.rb
219
- - lib/active_model/error_collecting/error_message_set.rb
220
- - lib/active_model/error_collecting/errors.rb
221
- - lib/active_model/error_collecting/hash_reporter.rb
222
- - lib/active_model/error_collecting/human_array_reporter.rb
223
- - lib/active_model/error_collecting/human_hash_reporter.rb
224
- - lib/active_model/error_collecting/human_message_formatter.rb
225
- - lib/active_model/error_collecting/human_message_reporter.rb
226
- - lib/active_model/error_collecting/machine_array_reporter.rb
227
- - lib/active_model/error_collecting/machine_hash_reporter.rb
228
- - lib/active_model/error_collecting/message_reporter.rb
229
- - lib/active_model/error_collecting/reporter.rb
230
- - spec/lib/active_model/better_errors_spec.rb
231
- - spec/lib/active_model/error_collecting/emulation_spec.rb
232
- - spec/lib/active_model/error_collecting/error_collection_spec.rb
233
- - spec/lib/active_model/error_collecting/error_message_set_spec.rb
234
- - spec/lib/active_model/error_collecting/error_message_spec.rb
235
- - spec/lib/active_model/error_collecting/errors_spec.rb
236
- - spec/lib/active_model/error_collecting/human_array_reporter_spec.rb
237
- - spec/lib/active_model/error_collecting/human_hash_reporter_spec.rb
238
- - spec/lib/active_model/error_collecting/human_message_formatter_spec.rb
239
- - spec/lib/active_model/error_collecting/human_message_reporter_spec.rb
240
- - spec/lib/active_model/error_collecting/machine_array_reporter_spec.rb
241
- - spec/lib/active_model/error_collecting/machine_hash_reporter_spec.rb
242
- - spec/lib/active_model/error_collecting_spec.rb
154
+ - lib/active_model/better_errors/array_reporter.rb
155
+ - lib/active_model/better_errors/emulation.rb
156
+ - lib/active_model/better_errors/error_collection.rb
157
+ - lib/active_model/better_errors/error_message.rb
158
+ - lib/active_model/better_errors/error_message_set.rb
159
+ - lib/active_model/better_errors/errors.rb
160
+ - lib/active_model/better_errors/formatter.rb
161
+ - lib/active_model/better_errors/hash_reporter.rb
162
+ - lib/active_model/better_errors/human_array_reporter.rb
163
+ - lib/active_model/better_errors/human_hash_reporter.rb
164
+ - lib/active_model/better_errors/human_message_formatter.rb
165
+ - lib/active_model/better_errors/human_message_reporter.rb
166
+ - lib/active_model/better_errors/machine_array_reporter.rb
167
+ - lib/active_model/better_errors/machine_hash_reporter.rb
168
+ - lib/active_model/better_errors/message_reporter.rb
169
+ - lib/active_model/better_errors/reporter.rb
170
+ - lib/active_model/better_errors/version.rb
243
171
  - spec/spec_helper.rb
172
+ - spec/support/i18n_deprecation_silence.rb
244
173
  - spec/support/models.rb
245
- - test/integration.rb
174
+ - spec/support/string_ext.rb
175
+ - spec/unit/lib/active_model/better_errors/emulation_spec.rb
176
+ - spec/unit/lib/active_model/better_errors/error_collection_spec.rb
177
+ - spec/unit/lib/active_model/better_errors/error_message_set_spec.rb
178
+ - spec/unit/lib/active_model/better_errors/error_message_spec.rb
179
+ - spec/unit/lib/active_model/better_errors/errors_spec.rb
180
+ - spec/unit/lib/active_model/better_errors/human_array_reporter_spec.rb
181
+ - spec/unit/lib/active_model/better_errors/human_hash_reporter_spec.rb
182
+ - spec/unit/lib/active_model/better_errors/human_message_formatter_spec.rb
183
+ - spec/unit/lib/active_model/better_errors/human_message_reporter_spec.rb
184
+ - spec/unit/lib/active_model/better_errors/machine_array_reporter_spec.rb
185
+ - spec/unit/lib/active_model/better_errors/machine_hash_reporter_spec.rb
186
+ - spec/unit/lib/active_model/better_errors_spec.rb
246
187
  homepage: http://github.com/aq1018/active_model-better_errors
247
188
  licenses:
248
189
  - MIT
190
+ metadata: {}
249
191
  post_install_message:
250
192
  rdoc_options: []
251
193
  require_paths:
252
194
  - lib
253
195
  required_ruby_version: !ruby/object:Gem::Requirement
254
- none: false
255
196
  requirements:
256
- - - ! '>='
197
+ - - '>='
257
198
  - !ruby/object:Gem::Version
258
199
  version: '0'
259
- segments:
260
- - 0
261
- hash: -3324686996559337046
262
200
  required_rubygems_version: !ruby/object:Gem::Requirement
263
- none: false
264
201
  requirements:
265
- - - ! '>='
202
+ - - '>='
266
203
  - !ruby/object:Gem::Version
267
204
  version: '0'
268
205
  requirements: []
269
206
  rubyforge_project:
270
- rubygems_version: 1.8.24
207
+ rubygems_version: 2.1.11
271
208
  signing_key:
272
- specification_version: 3
273
- summary: API consumable error messages with ActiveModel::Errors drop-in compatibility.
274
- test_files: []
209
+ specification_version: 4
210
+ summary: active_model-better_errors is a ActiveModel::Errors compatible library to
211
+ help you customize the presentation of your error messages.
212
+ test_files:
213
+ - spec/spec_helper.rb
214
+ - spec/support/i18n_deprecation_silence.rb
215
+ - spec/support/models.rb
216
+ - spec/support/string_ext.rb
217
+ - spec/unit/lib/active_model/better_errors/emulation_spec.rb
218
+ - spec/unit/lib/active_model/better_errors/error_collection_spec.rb
219
+ - spec/unit/lib/active_model/better_errors/error_message_set_spec.rb
220
+ - spec/unit/lib/active_model/better_errors/error_message_spec.rb
221
+ - spec/unit/lib/active_model/better_errors/errors_spec.rb
222
+ - spec/unit/lib/active_model/better_errors/human_array_reporter_spec.rb
223
+ - spec/unit/lib/active_model/better_errors/human_hash_reporter_spec.rb
224
+ - spec/unit/lib/active_model/better_errors/human_message_formatter_spec.rb
225
+ - spec/unit/lib/active_model/better_errors/human_message_reporter_spec.rb
226
+ - spec/unit/lib/active_model/better_errors/machine_array_reporter_spec.rb
227
+ - spec/unit/lib/active_model/better_errors/machine_hash_reporter_spec.rb
228
+ - spec/unit/lib/active_model/better_errors_spec.rb
229
+ has_rdoc: