Class: Hackle::ValueType

Inherits:
Object
  • Object
show all
Defined in:
lib/hackle/internal/model/value_type.rb

Constant Summary collapse

NULL =
new('NULL')
UNKNOWN =
new('UNKNOWN')
STRING =
new('STRING')
NUMBER =
new('NUMBER')
BOOLEAN =
new('BOOLEAN')
VERSION =
new('VERSION')
JSON =
new('JSON')

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name) ⇒ ValueType

Returns a new instance of ValueType.

Parameters:

  • name (String)


10
11
12
# File 'lib/hackle/internal/model/value_type.rb', line 10

def initialize(name)
  @name = name
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



7
8
9
# File 'lib/hackle/internal/model/value_type.rb', line 7

def name
  @name
end

Class Method Details

.boolean?(value) ⇒ Boolean

Returns:

  • (Boolean)


68
69
70
71
72
# File 'lib/hackle/internal/model/value_type.rb', line 68

def boolean?(value)
  return false if value.nil?

  value.is_a?(TrueClass) || value.is_a?(FalseClass)
end

.empty_string?(value) ⇒ Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/hackle/internal/model/value_type.rb', line 54

def empty_string?(value)
  string?(value) && value.empty?
end

.from_or_nil(name) ⇒ ValueType?

Parameters:

  • name (String)

Returns:



38
39
40
# File 'lib/hackle/internal/model/value_type.rb', line 38

def self.from_or_nil(name)
  @types[name.upcase]
end

.not_empty_string?(value) ⇒ Boolean

Returns:

  • (Boolean)


58
59
60
# File 'lib/hackle/internal/model/value_type.rb', line 58

def not_empty_string?(value)
  string?(value) && !value.empty?
end

.number?(value) ⇒ Boolean

Returns:

  • (Boolean)


62
63
64
65
66
# File 'lib/hackle/internal/model/value_type.rb', line 62

def number?(value)
  return false if value.nil?

  value.is_a?(Numeric)
end

.string?(value) ⇒ Boolean

Returns:

  • (Boolean)


48
49
50
51
52
# File 'lib/hackle/internal/model/value_type.rb', line 48

def string?(value)
  return false if value.nil?

  value.is_a?(String)
end

.valuesArray<ValueType>

Returns:



43
44
45
# File 'lib/hackle/internal/model/value_type.rb', line 43

def self.values
  @types.values
end

Instance Method Details

#to_sObject



14
15
16
# File 'lib/hackle/internal/model/value_type.rb', line 14

def to_s
  name
end