Class: ArelExtensions::Nodes::FormattedNumber

Inherits:
Function
  • Object
show all
Defined in:
lib/arel_extensions/nodes/formatted_number.rb

Constant Summary collapse

RETURN_TYPE =
:string

Constants inherited from Function

ArelExtensions::Nodes::Function::MBSTRING

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from Function

#!=, #==, #as, #convert_to_date_node, #convert_to_datetime_node, #convert_to_node, #convert_to_number, #convert_to_string_node, #expr, #left, #return_type, #right, #type_of_attribute

Methods included from Predications

#cast, #convert_to_node, #imatches, #in, #matches, #not_in, #when

Constructor Details

#initialize(expr) ⇒ FormattedNumber

Returns a new instance of FormattedNumber.



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/arel_extensions/nodes/formatted_number.rb', line 8

def initialize expr
  # expr[1] = {:locale => 'fr_FR', :type => "e"/"f"/"d", :prefix => "$ ", :suffix => " %", :flags => " +-#0", :width => 5, :precision => 6}
  col = expr.first
  @locale = expr[1][:locale]
  @prefix = expr[1][:prefix]
  @suffix = expr[1][:suffix]
  @width = expr[1][:width]
  @precision = expr[1][:precision]
  @type = expr[1][:type]
  @flags = expr[1][:flags]
  @scientific_notation = /[eE]/.match(expr[1][:type]) || false
  @original_string = expr[1][:original_string]
  super [col]
end

Instance Attribute Details

#flagsObject

Returns the value of attribute flags.



6
7
8
# File 'lib/arel_extensions/nodes/formatted_number.rb', line 6

def flags
  @flags
end

#localeObject

Returns the value of attribute locale.



6
7
8
# File 'lib/arel_extensions/nodes/formatted_number.rb', line 6

def locale
  @locale
end

#original_stringObject

Returns the value of attribute original_string.



6
7
8
# File 'lib/arel_extensions/nodes/formatted_number.rb', line 6

def original_string
  @original_string
end

#precisionObject

Returns the value of attribute precision.



6
7
8
# File 'lib/arel_extensions/nodes/formatted_number.rb', line 6

def precision
  @precision
end

#prefixObject

Returns the value of attribute prefix.



6
7
8
# File 'lib/arel_extensions/nodes/formatted_number.rb', line 6

def prefix
  @prefix
end

#scientific_notationObject

Returns the value of attribute scientific_notation.



6
7
8
# File 'lib/arel_extensions/nodes/formatted_number.rb', line 6

def scientific_notation
  @scientific_notation
end

#suffixObject

Returns the value of attribute suffix.



6
7
8
# File 'lib/arel_extensions/nodes/formatted_number.rb', line 6

def suffix
  @suffix
end

#typeObject

Returns the value of attribute type.



6
7
8
# File 'lib/arel_extensions/nodes/formatted_number.rb', line 6

def type
  @type
end

#widthObject

Returns the value of attribute width.



6
7
8
# File 'lib/arel_extensions/nodes/formatted_number.rb', line 6

def width
  @width
end