Class: Pema::Schema
- Inherits:
-
Object
- Object
- Pema::Schema
- Defined in:
- lib/primate/pema.rb
Instance Method Summary collapse
-
#initialize(fields) ⇒ Schema
constructor
A new instance of Schema.
- #parse(data, coerce = false) ⇒ Object
Constructor Details
#initialize(fields) ⇒ Schema
Returns a new instance of Schema.
110 111 112 |
# File 'lib/primate/pema.rb', line 110 def initialize(fields) @fields = fields end |
Instance Method Details
#parse(data, coerce = false) ⇒ Object
114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/primate/pema.rb', line 114 def parse(data, coerce = false) result = {} @fields.each do |name, field| value = data.key?(name) ? data[name] : '' begin result[name] = field.parse(value, coerce) rescue ValidationError => e raise ValidationError, "parsing failed for field '#{name}': #{e.}" end end result end |