class Osheet::Format::Numeric
Attributes
comma_separator[RW]
decimal_places[RW]
Public Class Methods
new(opts={})
click to toggle source
# File lib/osheet/format/numeric.rb, line 24 def initialize(opts={}) self.symbol = opts[:symbol] || :none self.decimal_places = opts[:decimal_places] || 0 self.comma_separator = opts.has_key?(:comma_separator) ? opts[:comma_separator] : false self.negative_numbers = opts[:negative_numbers] || :black end
Public Instance Methods
comma_separator=(value)
click to toggle source
# File lib/osheet/format/numeric.rb, line 38 def comma_separator=(value) @comma_separator = !!value end
decimal_places=(value)
click to toggle source
# File lib/osheet/format/numeric.rb, line 31 def decimal_places=(value) if !value.kind_of?(::Fixnum) || value < 0 || value > 30 raise ArgumentError, ":decimal_places must be a Fixnum between 0 and 30." end @decimal_places = value end
key()
click to toggle source
# File lib/osheet/format/numeric.rb, line 46 def key "#{key_prefix}_#{symbol_key}_#{decimal_places_key}_#{comma_separator_key}_#{negative_numbers_key}" end
style()
click to toggle source
# File lib/osheet/format/numeric.rb, line 42 def style negative_numbers_style end
Protected Instance Methods
decimal_places_suffix()
click to toggle source
used by ‘decimal_places_style’ in Numeric
base class, override as necessary
# File lib/osheet/format/numeric.rb, line 63 def decimal_places_suffix "" end
key_prefix()
click to toggle source
used by ‘key’ in Numeric
base class, override as necessary
# File lib/osheet/format/numeric.rb, line 53 def key_prefix "number" end
symbol_suffix()
click to toggle source
used by ‘symbol_style’ in Numeric
base class, override as necessary
# File lib/osheet/format/numeric.rb, line 58 def symbol_suffix "" end
Private Instance Methods
comma_separator_key()
click to toggle source
# File lib/osheet/format/numeric.rb, line 105 def comma_separator_key @comma_separator == true ? 'comma' : 'nocomma' end
comma_separator_style()
click to toggle source
# File lib/osheet/format/numeric.rb, line 102 def comma_separator_style @comma_separator == true ? '#,##' : '' end
decimal_places_key()
click to toggle source
# File lib/osheet/format/numeric.rb, line 97 def decimal_places_key @decimal_places.to_s end
decimal_places_style()
click to toggle source
# File lib/osheet/format/numeric.rb, line 94 def decimal_places_style "0#{'.'+'0'*@decimal_places if @decimal_places > 0}#{decimal_places_suffix}" end
negative_numbers_key()
click to toggle source
# File lib/osheet/format/numeric.rb, line 89 def negative_numbers_key @negative_numbers.to_s.gsub('_', '') end
negative_numbers_style()
click to toggle source
# File lib/osheet/format/numeric.rb, line 77 def negative_numbers_style case @negative_numbers when 'black' numeric_style when 'red' "#{numeric_style};[Red]#{numeric_style}" when 'black_parenth' "#{numeric_style}_);\(#{numeric_style}\)" when 'red_parenth' "#{numeric_style}_);[Red]\(#{numeric_style}\)" end end
numeric_style()
click to toggle source
# File lib/osheet/format/numeric.rb, line 70 def numeric_style symbol_style + comma_separator_style + decimal_places_style end
symbol_key()
click to toggle source
# File lib/osheet/format/numeric.rb, line 120 def symbol_key @symbol.to_s.gsub('_', '') end
symbol_style()
click to toggle source
# File lib/osheet/format/numeric.rb, line 110 def symbol_style case @symbol when 'dollar' "\"$\"#{symbol_suffix}" when 'euro' "\"€\"#{symbol_suffix}" else '' end end