module Gifnoc::Record::SetValueSyncer
keep raw_value and value in sync, allow calling super for typed_attr_accessor
Public Class Methods
new(**args)
click to toggle source
Calls superclass method
# File lib/gifnoc/models/record.rb, line 40 def initialize(**args) if args.has_key?(:raw_value) && args.has_key?(:value) raise ArgumentError, "only one of the :raw_value and :value attributes should be provided" end super(**args) self.raw_value = args[:raw_value] if args.has_key?(:raw_value) self.value = args[:value] if args.has_key?(:value) end
Public Instance Methods
raw_value=(new_raw_value)
click to toggle source
Calls superclass method
# File lib/gifnoc/models/record.rb, line 26 def raw_value=(new_raw_value) super(new_raw_value) new_value = Base64.strict_decode64(new_raw_value) unless new_raw_value.nil? instance_variable_set("@value", new_value) return new_raw_value end
value=(new_value)
click to toggle source
Calls superclass method
# File lib/gifnoc/models/record.rb, line 33 def value=(new_value) super(new_value) new_raw_value = Base64.strict_encode64(new_value) unless new_value.nil? instance_variable_set("@raw_value", new_raw_value) return new_value end