class PersonType

Constants

TYPES

Attributes

value[W]

Public Class Methods

description(value, default = '') click to toggle source
# File lib/person_type.rb, line 6
def self.description(value, default = '')
  description = case value
  when NATURAL then 'Natural person'
  when LEGAL then 'Legal entity'
  else default
  end

  I18n.t(value, default: description)
end
descriptions() click to toggle source
# File lib/person_type.rb, line 16
def self.descriptions
  TYPES.each_with_object({}) do |type, hash|
    hash[type] = description(type)
  end
end
new(value) click to toggle source
# File lib/person_type.rb, line 26
def initialize(value)
  @value = value
end
to_collection() click to toggle source
# File lib/person_type.rb, line 22
def self.to_collection
  descriptions.map { |k, v| [v, k] }
end

Public Instance Methods

description(default = '') click to toggle source
# File lib/person_type.rb, line 34
def description(default = '')
  self.class.description(@value, default)
end
to_s() click to toggle source
# File lib/person_type.rb, line 42
def to_s
  value
end
valid?() click to toggle source
# File lib/person_type.rb, line 38
def valid?
  TYPES.include? @value
end
value() click to toggle source
# File lib/person_type.rb, line 30
def value
  @value if valid?
end