Class: Bparity::Recording::Canonicalizer
- Inherits:
-
Object
- Object
- Bparity::Recording::Canonicalizer
- Defined in:
- lib/bparity/recording.rb
Constant Summary collapse
- UUID =
/\b[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\b/i
Instance Method Summary collapse
- #call(value) ⇒ Object
-
#initialize(config = {}) ⇒ Canonicalizer
constructor
A new instance of Canonicalizer.
Constructor Details
#initialize(config = {}) ⇒ Canonicalizer
Returns a new instance of Canonicalizer.
137 138 139 140 |
# File 'lib/bparity/recording.rb', line 137 def initialize(config = {}) @config = config @ids = {} end |
Instance Method Details
#call(value) ⇒ Object
142 143 144 145 146 147 148 149 150 151 152 153 |
# File 'lib/bparity/recording.rb', line 142 def call(value) case value when String then canonical_string(value) when Float then canonical_float(value) when Array then value.map { |item| call(item) } when Hash return { "$time" => @config[:freeze_time] } if value.key?("$time") && @config[:freeze_time] value.to_h { |key, item| [key, call(item)] } else value end end |