Class: ReadXls::Evaluator::FormatNumber
- Inherits:
-
Object
- Object
- ReadXls::Evaluator::FormatNumber
- Defined in:
- lib/read_xls/evaluator/format_number.rb
Constant Summary collapse
- SECONDS_IN_DAY =
60 * 60 * 24
Instance Attribute Summary collapse
-
#extended_format ⇒ Object
Returns the value of attribute extended_format.
-
#number ⇒ Object
Returns the value of attribute number.
Instance Method Summary collapse
- #evaluate ⇒ Object
-
#initialize(number, extended_format) ⇒ FormatNumber
constructor
A new instance of FormatNumber.
Constructor Details
#initialize(number, extended_format) ⇒ FormatNumber
Returns a new instance of FormatNumber.
8 9 10 11 |
# File 'lib/read_xls/evaluator/format_number.rb', line 8 def initialize(number, extended_format) self.number = BigDecimal.new(number.to_s) self.extended_format = extended_format end |
Instance Attribute Details
#extended_format ⇒ Object
Returns the value of attribute extended_format.
6 7 8 |
# File 'lib/read_xls/evaluator/format_number.rb', line 6 def extended_format @extended_format end |
#number ⇒ Object
Returns the value of attribute number.
6 7 8 |
# File 'lib/read_xls/evaluator/format_number.rb', line 6 def number @number end |
Instance Method Details
#evaluate ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/read_xls/evaluator/format_number.rb', line 13 def evaluate return number unless extended_format case extended_format.format_type when :date days_since_datemode = number.to_i inner_day_fraction = number.frac date = build_date(days_since_datemode) if inner_day_fraction == 0 date else build_time(date, inner_day_fraction) end else number end end |