Class: RDF::Literal::Integer
- Inherits:
-
Decimal
- Object
- RDF::Literal
- Numeric
- Decimal
- RDF::Literal::Integer
- Defined in:
- lib/rdf/model/literal/integer.rb
Overview
An integer literal.
Constant Summary collapse
Constants inherited from RDF::Literal
FALSE, TRUE, XSD_STRING, ZERO
Instance Attribute Summary
Attributes inherited from RDF::Literal
#datatype, #direction, #language
Instance Method Summary collapse
-
#abs ⇒ RDF::Literal
Returns the absolute value of ‘self`.
-
#canonicalize! ⇒ RDF::Literal
Converts this literal into its canonical lexical representation.
-
#even? ⇒ Boolean
Returns ‘true` if the value is even.
-
#initialize(value, datatype: nil, lexical: nil, **options) ⇒ Integer
constructor
A new instance of Integer.
-
#nonzero? ⇒ Boolean
Returns ‘self` if the value is not zero, `nil` otherwise.
-
#odd? ⇒ Boolean
Returns ‘true` if the value is odd.
-
#pred ⇒ RDF::Literal
Returns the predecessor value of ‘self`.
-
#round ⇒ RDF::Literal
Returns ‘self`.
-
#succ ⇒ RDF::Literal
(also: #next)
Returns the successor value of ‘self`.
-
#to_bn ⇒ OpenSSL::BN
Returns the value as an ‘OpenSSL::BN` instance.
-
#to_s ⇒ String
Returns the value as a string.
-
#zero? ⇒ Boolean
Returns ‘true` if the value is zero.
Methods inherited from Decimal
Methods inherited from Numeric
#%, #*, #**, #+, #+@, #-, #-@, #/, #<=>, #==, #acos, #asin, #atan, #atan2, #ceil, #cos, #exp, #exp10, #floor, #log, #log10, #sin, #sqrt, #tan, #to_d, #to_f, #to_i, #to_r
Methods inherited from RDF::Literal
#<=>, #==, #compatible?, #comperable_datatype2?, #comperable_datatype?, #datatype?, datatype_map, datatyped_class, #direction?, #english?, #eql?, #escape, #freeze, #hash, #humanize, #inspect, #language?, #literal?, new, #object, #plain?, #simple?, #squish, #squish!, #valid?, #validate!, #value, #value_hash
Methods included from Term
#<=>, #==, #compatible?, #eql?, #term?, #terms, #to_base, #to_term
Methods included from Value
#anonymous?, #canonicalize, #constant?, #graph?, #inspect, #inspect!, #invalid?, #iri?, #list?, #literal?, #node?, #resource?, #start_with?, #statement?, #term?, #to_nquads, #to_ntriples, #to_rdf, #to_term, #type_error, #uri?, #valid?, #validate!, #variable?
Constructor Details
#initialize(value, datatype: nil, lexical: nil, **options) ⇒ Integer
Returns a new instance of Integer.
21 22 23 24 25 26 27 28 29 |
# File 'lib/rdf/model/literal/integer.rb', line 21 def initialize(value, datatype: nil, lexical: nil, **) @datatype = RDF::URI(datatype || self.class.const_get(:DATATYPE)) @string = lexical || (value if value.is_a?(String)) @object = case when value.is_a?(::Integer) then value when value.respond_to?(:to_i) then value.to_i else 0 end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class RDF::Literal
Instance Method Details
#abs ⇒ RDF::Literal
Returns the absolute value of ‘self`.
From the XQuery function [fn:abs](www.w3.org/TR/xpath-functions/#func-abs).
86 87 88 |
# File 'lib/rdf/model/literal/integer.rb', line 86 def abs (n = to_i) && n > 0 ? self : self.class.new(n.abs) end |
#canonicalize! ⇒ RDF::Literal
Converts this literal into its canonical lexical representation.
36 37 38 39 |
# File 'lib/rdf/model/literal/integer.rb', line 36 def canonicalize! @string = @object.to_s if @object self end |
#even? ⇒ Boolean
Returns ‘true` if the value is even.
65 66 67 |
# File 'lib/rdf/model/literal/integer.rb', line 65 def even? to_i.even? end |
#nonzero? ⇒ Boolean
Returns ‘self` if the value is not zero, `nil` otherwise.
115 116 117 |
# File 'lib/rdf/model/literal/integer.rb', line 115 def nonzero? to_i.nonzero? ? self : nil end |
#odd? ⇒ Boolean
Returns ‘true` if the value is odd.
74 75 76 |
# File 'lib/rdf/model/literal/integer.rb', line 74 def odd? to_i.odd? end |
#pred ⇒ RDF::Literal
Returns the predecessor value of ‘self`.
46 47 48 |
# File 'lib/rdf/model/literal/integer.rb', line 46 def pred RDF::Literal(to_i.pred) end |
#round ⇒ RDF::Literal
Returns ‘self`.
From the XQuery function [fn:round](www.w3.org/TR/xpath-functions/#func-round).
97 98 99 |
# File 'lib/rdf/model/literal/integer.rb', line 97 def round self end |
#succ ⇒ RDF::Literal Also known as: next
Returns the successor value of ‘self`.
55 56 57 |
# File 'lib/rdf/model/literal/integer.rb', line 55 def succ RDF::Literal(to_i.succ) end |
#to_bn ⇒ OpenSSL::BN
Returns the value as an ‘OpenSSL::BN` instance.
133 134 135 136 |
# File 'lib/rdf/model/literal/integer.rb', line 133 def to_bn require 'openssl' unless defined?(OpenSSL::BN) OpenSSL::BN.new(to_s) end |
#to_s ⇒ String
Returns the value as a string.
123 124 125 |
# File 'lib/rdf/model/literal/integer.rb', line 123 def to_s @string || @object.to_s end |
#zero? ⇒ Boolean
Returns ‘true` if the value is zero.
106 107 108 |
# File 'lib/rdf/model/literal/integer.rb', line 106 def zero? to_i.zero? end |