Sha256: 2df21c13fb07157c2899ad2734d8a049789f8c9c324a537a29bf1c8b7eba7bfd
Contents?: true
Size: 1012 Bytes
Versions: 1
Compression:
Stored size: 1012 Bytes
Contents
class RestModel module Source class Translation attr_accessor :values, :from_source, :to_source def initialize(attrs = {}) @values = attrs[:values] @from_source = attrs[:from_source] @to_source = attrs[:to_source] end def translates_from_source? from_source or values end def translate_from_source(value, resource) if from_source resource.instance_exec(value, &from_source) elsif values fail "from source error" unless values.has_value?(value) values.key(value) else value end end def translates_to_source? to_source or values end def translate_to_source(value, resource) if to_source resource.instance_exec(value, &to_source) elsif values fail "to source error" unless values.has_key?(value) values[value] else value end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rest_model-0.1.6 | lib/rest_model/source/translation.rb |