Module: Aranha::Parsers::Html::Node::Default::NumericSupport

Defined in:
lib/aranha/parsers/html/node/default/numeric_support.rb

Constant Summary collapse

INTEGER_PARSER =
/\d+/.to_parser do |m|
  m[0].to_i
end

Instance Method Summary collapse

Instance Method Details

#decimal_comma_optional_value(node, xpath) ⇒ Float?

Parameters:

  • node (Nokogiri::XML::Element)
  • xpath (String)

Returns:

  • (Float, nil)


23
24
25
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 23

def decimal_comma_optional_value(node, xpath)
  parse_decimal_comma(node, xpath, false)
end

#decimal_comma_value(node, xpath) ⇒ Float

Parameters:

  • node (Nokogiri::XML::Element)
  • xpath (String)

Returns:

  • (Float)


16
17
18
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 16

def decimal_comma_value(node, xpath)
  parse_decimal_comma(node, xpath, true)
end

#decimal_dot_optional_value(node, xpath) ⇒ Float?

Parameters:

  • node (Nokogiri::XML::Element)
  • xpath (String)

Returns:

  • (Float, nil)


37
38
39
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 37

def decimal_dot_optional_value(node, xpath)
  parse_decimal_dot(node, xpath, false)
end

#decimal_dot_value(node, xpath) ⇒ Float

Parameters:

  • node (Nokogiri::XML::Element)
  • xpath (String)

Returns:

  • (Float)


30
31
32
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 30

def decimal_dot_value(node, xpath)
  parse_decimal_dot(node, xpath, true)
end

#float_optional_value(node, xpath) ⇒ Float?

Parameters:

  • node (Nokogiri::XML::Node)
  • xpath (String)

Returns:

  • (Float, nil)


96
97
98
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 96

def float_optional_value(node, xpath)
  parse_float(node, xpath, false)
end

#float_value(node, xpath) ⇒ Float

Parameters:

  • node (Nokogiri::XML::Node)
  • xpath (String)

Returns:

  • (Float)


89
90
91
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 89

def float_value(node, xpath)
  parse_float(node, xpath, true)
end

#integer_comma_optional_value(node, xpath) ⇒ Integer

Parameters:

  • node (Nokogiri::XML::Element)
  • xpath (String)

Returns:

  • (Integer)


51
52
53
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 51

def integer_comma_optional_value(node, xpath)
  decimal_comma_optional_value(node, xpath).to_i
end

#integer_comma_value(node, xpath) ⇒ Integer

Parameters:

  • node (Nokogiri::XML::Element)
  • xpath (String)

Returns:

  • (Integer)


44
45
46
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 44

def integer_comma_value(node, xpath)
  decimal_comma_value(node, xpath).to_i
end

#integer_dot_optional_value(node, xpath) ⇒ Integer

Parameters:

  • node (Nokogiri::XML::Element)
  • xpath (String)

Returns:

  • (Integer)


65
66
67
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 65

def integer_dot_optional_value(node, xpath)
  decimal_dot_optional_value(node, xpath).to_i
end

#integer_dot_value(node, xpath) ⇒ Integer

Parameters:

  • node (Nokogiri::XML::Element)
  • xpath (String)

Returns:

  • (Integer)


58
59
60
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 58

def integer_dot_value(node, xpath)
  decimal_dot_value(node, xpath).to_i
end

#integer_optional_value(node, xpath) ⇒ Integer?

Parameters:

  • node (Nokogiri::XML::Node)
  • xpath (String)

Returns:

  • (Integer, nil)


82
83
84
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 82

def integer_optional_value(node, xpath)
  INTEGER_PARSER.parse(string_value(node, xpath))
end

#integer_value(node, xpath) ⇒ Integer

Parameters:

  • node (Nokogiri::XML::Node)
  • xpath (String)

Returns:

  • (Integer)


72
73
74
75
76
77
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 72

def integer_value(node, xpath)
  r = string_value(node, xpath)
  raise "String value is blank (\"#{r}\")" if r.blank?

  INTEGER_PARSER.parse!(r)
end

#us_decimal_optional_value(node, xpath) ⇒ Float?

Deprecated.

Parameters:

  • node (Nokogiri::XML::Element)
  • xpath (String)

Returns:

  • (Float, nil)


112
113
114
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 112

def us_decimal_optional_value(node, xpath)
  decimal_dot_optional_value(node, xpath)
end

#us_decimal_value(node, xpath) ⇒ Float

Deprecated.

Use #decimal_dot_value instead.

Parameters:

  • node (Nokogiri::XML::Element)
  • xpath (String)

Returns:

  • (Float)


104
105
106
# File 'lib/aranha/parsers/html/node/default/numeric_support.rb', line 104

def us_decimal_value(node, xpath)
  decimal_dot_value(node, xpath)
end