Sha256: 6772b94873508941972e0ee4f26d83f2716d17c8e00e48d96d7d9516594bfd4b
Contents?: true
Size: 615 Bytes
Versions: 4
Compression:
Stored size: 615 Bytes
Contents
module Gate class Result attr_reader :attributes def initialize(attributes: {}, errors: {}) @attributes = attributes @errors = errors end def valid? errors.empty? end def errors _errors(@errors) end def to_h { attributes: attributes, errors: @errors } end private def _errors(hash) hash.each_with_object({}) do |(k, v), result| if v.is_a?(Hash) nested = _errors(v) result[k] = nested if nested.any? else result[k] = v end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
gate-0.4.1 | lib/gate/result.rb |
gate-0.4.0 | lib/gate/result.rb |
gate-0.3.0 | lib/gate/result.rb |
gate-0.2.0 | lib/gate/result.rb |