Class: CalendarioApi::Cidade

Inherits:
Object
  • Object
show all
Defined in:
lib/calendario_api/cidade.rb

Overview

Classe que representa uma cidade

Constant Summary collapse

ESTADO_POR_SIGLA =

Mapeamento das siglas dos estados e seus respectivos nomes em extenso

{
  'AC' => 'Acre', 'AL' => 'Alagoas', 'AP' => 'Amapá', 'AM' => 'Amazonas',
  'BA' => 'Bahia', 'CE' => 'Ceará', 'DF' => 'Distrito Federal',
  'ES' => 'Espírito Santo', 'GO' => 'Goiás', 'MA' => 'Maranhão',
  'MT' => 'Mato Grosso', 'MS' => 'Mato Grosso do Sul', 'MG' => 'Minas Gerais',
  'PA' => 'Pará', 'PB' => 'Paraíba', 'PR' => 'Paraná', 'PE' => 'Pernambuco',
  'PI' => 'Piauí', 'RJ' => 'Rio de Janeiro', 'RN' => 'Rio Grande do Norte',
  'RS' => 'Rio Grande do Sul', 'RO' => 'Rondônia', 'SC' => 'Santa Catarina',
  'SP' => 'São Paulo', 'SE' => 'Sergipe', 'TO' => 'Tocantins'
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(nome, sigla_estado) ⇒ Cidade

Retorna uma nova instância de Cidade



29
30
31
32
33
# File 'lib/calendario_api/cidade.rb', line 29

def initialize(nome, sigla_estado)
  @nome = nome
  @sigla_estado = sigla_estado
  @estado = ESTADO_POR_SIGLA[sigla_estado]
end

Instance Attribute Details

#estadoString (readonly)

Returns Estado da Cidade.

Returns:

  • (String)

    Estado da Cidade



11
12
13
# File 'lib/calendario_api/cidade.rb', line 11

def estado
  @estado
end

#nomeString (readonly)

Returns Nome da cidade.

Returns:

  • (String)

    Nome da cidade



8
9
10
# File 'lib/calendario_api/cidade.rb', line 8

def nome
  @nome
end

#sigla_estadoString (readonly)

Returns Sigla do Estado da Cidade.

Returns:

  • (String)

    Sigla do Estado da Cidade



14
15
16
# File 'lib/calendario_api/cidade.rb', line 14

def sigla_estado
  @sigla_estado
end

Instance Method Details

#<=>(other) ⇒ Object

Faz a comparação entre estados primeiro, e cidade depois



40
41
42
43
44
45
# File 'lib/calendario_api/cidade.rb', line 40

def <=>(other)
  compara_estados = estado <=> other.estado
  return compara_estados unless compara_estados.zero?

  nome <=> other.nome
end

#to_sObject



35
36
37
# File 'lib/calendario_api/cidade.rb', line 35

def to_s
  "#{@nome}-#{@sigla_estado}"
end