class BELParser::Expression::Model::Parameter
Attributes
encoding[R]
namespace[R]
value[R]
Public Class Methods
new(namespace, value, encoding = nil)
click to toggle source
# File lib/bel_parser/expression/model/parameter.rb, line 14 def initialize(namespace, value, encoding = nil) assert_namespace_type(namespace) assert_value_type(value) @namespace = namespace @value = value @encoding = encoding end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/bel_parser/expression/model/parameter.rb, line 41 def <=>(other) namespace_compare = @namespace <=> other.namespace if namespace_compare == 0 @value <=> other.value else namespace_compare end end
==(other)
click to toggle source
# File lib/bel_parser/expression/model/parameter.rb, line 54 def ==(other) return false if other == nil @namespace == other.namespace && @value == other.value end
hash()
click to toggle source
# File lib/bel_parser/expression/model/parameter.rb, line 50 def hash [@namespace, @value].hash end
invalid?()
click to toggle source
# File lib/bel_parser/expression/model/parameter.rb, line 37 def invalid? !valid? end
namespace=(namespace)
click to toggle source
# File lib/bel_parser/expression/model/parameter.rb, line 22 def namespace=(namespace) assert_namespace_type(namespace) @namespace = namespace end
to_s(_ = :short)
click to toggle source
# File lib/bel_parser/expression/model/parameter.rb, line 60 def to_s(_ = :short) if @namespace prefix = "#{@namespace.keyword}:" else prefix = '' end %Q{#{prefix}#{quote_if_needed(@value)}} end
valid?()
click to toggle source
# File lib/bel_parser/expression/model/parameter.rb, line 32 def valid? return true if @namespace.nil? @namespace.include?(@value) end
value=(value)
click to toggle source
# File lib/bel_parser/expression/model/parameter.rb, line 27 def value=(value) assert_value_type(value) @value = value end
Private Instance Methods
assert_namespace_type(namespace)
click to toggle source
# File lib/bel_parser/expression/model/parameter.rb, line 71 def assert_namespace_type(namespace) unless namespace.nil? || namespace.is_a?(Namespace) msg = "namespace: expected nil or Namespace, actual #{namespace.class}" raise(ArgumentError, msg) end end
assert_value_type(value)
click to toggle source
# File lib/bel_parser/expression/model/parameter.rb, line 78 def assert_value_type(value) unless value.is_a?(String) msg = "value: expected String, actual #{value.class}" raise(ArgumentError, msg) end end