Module: Baldr::Types
Instance Method Summary collapse
- #convert_after_load!(envelope, grammar = nil, version = nil) ⇒ Object
- #convert_after_parse!(envelope, grammar = nil, version = nil) ⇒ Object
- #convert_before_render!(envelope, grammar = nil, version = nil) ⇒ Object
Instance Method Details
#convert_after_load!(envelope, grammar = nil, version = nil) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/baldr/types.rb', line 5 def convert_after_load!(envelope, grammar = nil, version = nil) grammar ||= Baldr::Grammar::Envelope convert_tree!(envelope, grammar, version) do |record_def, element| case record_def[:type] when :number if element.is_a? String if record_def[:decimals] == 0 element else element.to_f end else element end else element end end end |
#convert_after_parse!(envelope, grammar = nil, version = nil) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/baldr/types.rb', line 25 def convert_after_parse!(envelope, grammar = nil, version = nil) grammar ||= Baldr::Grammar::Envelope convert_tree!(envelope, grammar, version) do |record_def, element| case record_def[:type] when :number if element.is_a? String if record_def[:decimals] == 0 element else element.to_f / (10.0 ** record_def[:decimals]) end else element end else element end end end |
#convert_before_render!(envelope, grammar = nil, version = nil) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/baldr/types.rb', line 45 def convert_before_render!(envelope, grammar = nil, version = nil) grammar ||= Baldr::Grammar::Envelope convert_tree!(envelope, grammar, version) do |record_def, element| case record_def[:type] when :number if element.is_a? String element else if record_def[:decimals] == 0 element else (element * (10.0 ** record_def[:decimals])).round.to_s end end else element end end end |