Attributes describe how we extract values from XML/JSON
# File lib/cimi/models/schema.rb, line 29 def initialize(name, opts = {}) @name = name @xml_name = opts[:xml_name] || name.to_s.camelize(true) @json_name = opts[:json_name] || name.to_s.camelize(true) @required = opts[:required] || false end
# File lib/cimi/models/schema.rb, line 52 def convert(value) value end
# File lib/cimi/models/schema.rb, line 40 def from_json(json, model) model[@name] = json[@json_name] end
# File lib/cimi/models/schema.rb, line 36 def from_xml(xml, model) model[@name] = xml[@xml_name].first if xml.has_key?(@xml_name) end
# File lib/cimi/models/schema.rb, line 56 def required? @required end
# File lib/cimi/models/schema.rb, line 48 def to_json(model, json) json[@json_name] = model[@name] if model and model[@name] end
# File lib/cimi/models/schema.rb, line 44 def to_xml(model, xml) xml[@xml_name] = [model[@name]] if model[@name] end
# File lib/cimi/models/schema.rb, line 60 def valid?(value) !value.nil? and !value.to_s.empty? end