Class: Ares

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

Constant Summary collapse

SERVICE_URL =
"http://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?%s".freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(options) ⇒ Ares

initializes new ares object



16
17
18
19
20
# File 'lib/ares.rb', line 16

def initialize(options)
  @options = options
  @result = Hash.from_xml(Net::HTTP.get(URI.parse(SERVICE_URL % self.params)))
  return self
end

Instance Attribute Details

#optionsObject (readonly)

Returns the value of attribute options.



5
6
7
# File 'lib/ares.rb', line 5

def options
  @options
end

#resultObject (readonly)

Returns the value of attribute result.



5
6
7
# File 'lib/ares.rb', line 5

def result
  @result
end

Class Method Details

.find(options) ⇒ Object

finds subject by any part on ares service



10
11
12
# File 'lib/ares.rb', line 10

def find(options)
  return new(options)
end

Instance Method Details

#addressObject

returns address



60
61
62
63
64
65
66
67
# File 'lib/ares.rb', line 60

def address
  @address ||= {
    :city => self.raw_address['PSC'][0..0] == "1" ? self.raw_address['Nazev_mestske_casti'] : self.raw_address['Nazev_obce'],
    :street => [self.raw_address["Nazev_ulice"], [self.raw_address['Cislo_domovni'],self.raw_address['Cislo_orientacni']].compact.join('/')].join(' '),
    :zip => self.raw_address['PSC']
     
  }
end

#answerObject

returns just answer part



36
37
38
# File 'lib/ares.rb', line 36

def answer
  @answer ||= self.result["Ares_odpovedi"]["Odpoved"]["Zaznam"]
end

#company_nameObject

returns company name



41
42
43
# File 'lib/ares.rb', line 41

def company_name
  @company_name ||= self.answer["Obchodni_firma"]
end

#found?Boolean

returns true if subject found on ares, otherwise false

Returns:

  • (Boolean)


23
24
25
26
# File 'lib/ares.rb', line 23

def found?
  @found ||= !(self.result["Ares_odpovedi"]["Odpoved"]["Pocet_zaznamu"] == '0' ||
    self.result["Ares_odpovedi"]["Odpoved"]["error"])
end

#icoObject

returns ico



46
47
48
# File 'lib/ares.rb', line 46

def ico
  @company_name ||= self.answer["ICO"]
end

#paramsObject

returns params like concatenated options



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

def params
  @params ||= options.inject([]) do |res, pair|
     res << "%s=%s" % [pair.first, pair.last]
  end.join('&')
end

#raw_addressObject

returns raw address



70
71
72
73
74
75
76
# File 'lib/ares.rb', line 70

def raw_address
  @raw_address ||= if self.subject_type == "P"
                 self.answer["Identifikace"]["Adresa_ARES"]
               else
                 self.answer["Identifikace"]["Osoba"]["Bydliste"]
               end
end

#subject_typeObject

returns subject type



51
52
53
54
55
56
57
# File 'lib/ares.rb', line 51

def subject_type
  @subject_type ||= if self.answer["Identifikace"]["Osoba"].nil?
                      "P"
                    else
                      "F"
                    end
end