Class: AdequateJson::Error
- Inherits:
-
Base
- Object
- Base
- AdequateJson::Error
show all
- Defined in:
- lib/adequate_json/error.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Base
builder, builders, #to_builder
Methods included from Jsonizer
#to_json
Methods included from Resolver
#choose_serializer
Constructor Details
#initialize(model, error = nil, message = nil, includes = nil) ⇒ Error
Returns a new instance of Error.
19
20
21
22
23
24
|
# File 'lib/adequate_json/error.rb', line 19
def initialize(model, error = nil, message = nil, includes = nil)
super(model)
@error = error
@message = message
@includes = includes
end
|
Class Method Details
.for(error, model = nil, includes = nil) ⇒ Object
55
56
57
|
# File 'lib/adequate_json/error.rb', line 55
def for(error, model = nil, includes = nil)
new(model, error, I18n.t(error, scope: AdequateJson.configuration.i18n_errors_scope), includes)
end
|
Instance Method Details
#each_inclusion(includes) ⇒ Object
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/adequate_json/error.rb', line 37
def each_inclusion(includes, &)
unless includes.respond_to?(:keys)
includes = [includes].flatten.compact.inject({}) do |hash, key|
hash.tap do
hash[key] = nil
end
end
end
includes.each(&)
end
|
#includes_to_errors(model, includes, attributes = {}) ⇒ Object
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/adequate_json/error.rb', line 26
def includes_to_errors(model, includes, attributes = {})
unless model.nil?
each_inclusion(includes) do |child, value|
submodel = model.send(child)
subattributes = attributes[submodel.model_name.to_s.underscore] = submodel.errors.messages.dup
includes_to_errors(submodel, value, subattributes)
end
end
attributes
end
|
#yield_builder(builder) ⇒ Object
48
49
50
51
52
|
# File 'lib/adequate_json/error.rb', line 48
def yield_builder(builder)
Jbuilder.new do |json|
instance_exec json, @model, @error, @message, @includes, &builder
end
end
|