Class: Opencdd::ClassType

Inherits:
Object
  • Object
show all
Defined in:
lib/opencdd/class_type.rb

Constant Summary collapse

VALUES =
%w[ITEM_CLASS CATEGORICAL_CLASS VALUE_CLASS MESSAGE_CLASS].freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value) ⇒ ClassType

Returns a new instance of ClassType.

Raises:

  • (ArgumentError)


9
10
11
12
# File 'lib/opencdd/class_type.rb', line 9

def initialize(value)
  raise ArgumentError, "unknown class_type: #{value}" unless VALUES.include?(value.to_s)
  @value = value.to_s
end

Instance Attribute Details

#valueObject (readonly)

Returns the value of attribute value.



7
8
9
# File 'lib/opencdd/class_type.rb', line 7

def value
  @value
end

Class Method Details

.parse(raw) ⇒ Object



22
23
24
25
26
27
# File 'lib/opencdd/class_type.rb', line 22

def self.parse(raw)
  return nil if raw.nil? || raw.to_s.strip.empty?
  s = raw.to_s.strip.upcase
  return nil unless VALUES.include?(s)
  new(s)
end

Instance Method Details

#categorical?Boolean

Returns:

  • (Boolean)


15
# File 'lib/opencdd/class_type.rb', line 15

def categorical?  = @value == "CATEGORICAL_CLASS"

#item?Boolean

Returns:

  • (Boolean)


14
# File 'lib/opencdd/class_type.rb', line 14

def item?         = @value == "ITEM_CLASS"

#message?Boolean

Returns:

  • (Boolean)


17
# File 'lib/opencdd/class_type.rb', line 17

def message?      = @value == "MESSAGE_CLASS"

#to_sObject



19
# File 'lib/opencdd/class_type.rb', line 19

def to_s   = @value

#to_symObject



20
# File 'lib/opencdd/class_type.rb', line 20

def to_sym = @value.downcase.to_sym

#value_class?Boolean

Returns:

  • (Boolean)


16
# File 'lib/opencdd/class_type.rb', line 16

def value_class?  = @value == "VALUE_CLASS"