Class: Datajud::Processo
- Inherits:
-
Object
- Object
- Datajud::Processo
- Defined in:
- lib/datajud/process.rb
Overview
Representa um processo retornado pela API DataJud. Fornece acesso simples a campos comuns via métodos.
Instance Attribute Summary collapse
-
#tribunal ⇒ Object
readonly
Returns the value of attribute tribunal.
Class Method Summary collapse
Instance Method Summary collapse
- #codigo_municipio_ibge ⇒ Object
- #comarca_ibge_codigo ⇒ Object
-
#initialize(raw) ⇒ Processo
constructor
A new instance of Processo.
- #municipio_ibge ⇒ Object
Constructor Details
#initialize(raw) ⇒ Processo
Returns a new instance of Processo.
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
# File 'lib/datajud/process.rb', line 33 def initialize(raw) processo_hash = raw[:processo] || raw['processo'] || raw @tribunal = self.class.deep_struct(raw[:tribunal] || raw['tribunal']) processo_hash.each do |k, v| ivar = "@#{k.to_s.gsub(/([A-Z])/, '_\\1').downcase}" instance_variable_set(ivar, self.class.deep_struct(v)) self.class.send(:attr_reader, k.to_s.gsub(/([A-Z])/, '_\\1').downcase) end if processo_hash['orgaoJulgador'] || processo_hash[:orgaoJulgador] orgao = processo_hash['orgaoJulgador'] || processo_hash[:orgaoJulgador] instance_variable_set(:@orgao_julgador, self.class.deep_struct(orgao)) self.class.send(:attr_reader, :orgao_julgador) if orgao['codigoMunicipioIBGE'] || orgao[:codigoMunicipioIBGE] vara = instance_variable_get(:@vara) if vara && vara.respond_to?(:comarca) comarca = vara.comarca if comarca && comarca.is_a?(OpenStruct) ibge = orgao['codigoMunicipioIBGE'] || orgao[:codigoMunicipioIBGE] comarca.codigoIbge = ibge if comarca.respond_to?(:codigoIbge=) end end end end end |
Instance Attribute Details
#tribunal ⇒ Object (readonly)
Returns the value of attribute tribunal.
31 32 33 |
# File 'lib/datajud/process.rb', line 31 def tribunal @tribunal end |
Class Method Details
.deep_struct(obj) ⇒ Object
9 10 11 12 13 14 15 16 17 18 |
# File 'lib/datajud/process.rb', line 9 def self.deep_struct(obj) case obj when Hash OpenStruct.new(obj.transform_values { |v| deep_struct(v) }) when Array obj.map { |v| deep_struct(v) } else obj end end |
Instance Method Details
#codigo_municipio_ibge ⇒ Object
59 60 61 62 63 64 65 |
# File 'lib/datajud/process.rb', line 59 def codigo_municipio_ibge if respond_to?(:orgao_julgador) && orgao_julgador.is_a?(Hash) orgao_julgador['codigoMunicipioIBGE'] || orgao_julgador[:codigoMunicipioIBGE] else nil end end |
#comarca_ibge_codigo ⇒ Object
24 25 26 27 28 29 30 |
# File 'lib/datajud/process.rb', line 24 def comarca_ibge_codigo v = instance_variable_get(:@vara) return nil unless v && v.is_a?(Hash) comarca = v['comarca'] || v[:comarca] return nil unless comarca && comarca.is_a?(Hash) comarca['codigoIbge'] || comarca[:codigoIbge] || comarca['ibge'] || comarca[:ibge] end |
#municipio_ibge ⇒ Object
19 20 21 22 23 |
# File 'lib/datajud/process.rb', line 19 def municipio_ibge orgao = instance_variable_get(:@orgao_julgador) || instance_variable_get(:@orgao_julgador) || self.respond_to?(:orgao_julgador) ? self.orgao_julgador : nil return nil unless orgao && orgao.is_a?(Hash) orgao['codigoMunicipioIBGE'] || orgao[:codigoMunicipioIBGE] end |