Class: Ares
- Inherits:
-
Object
- Object
- Ares
- Defined in:
- lib/ares_cz.rb
Constant Summary collapse
- SERVICE_URL =
"http://wwwinfo.mfcr.cz/cgi-bin/ares/darv_std.cgi?%s".freeze
Instance Attribute Summary collapse
-
#options ⇒ Object
readonly
Returns the value of attribute options.
-
#result ⇒ Object
readonly
Returns the value of attribute result.
Class Method Summary collapse
-
.find(options) ⇒ Object
finds subject by any part on ares service.
Instance Method Summary collapse
-
#address ⇒ Object
returns address.
-
#answer ⇒ Object
returns just answer part.
-
#company_name ⇒ Object
returns company name.
-
#found? ⇒ Boolean
returns true if subject found on ares, otherwise false.
-
#ico ⇒ Object
returns ico.
-
#initialize(options) ⇒ Ares
constructor
initializes new ares object.
-
#params ⇒ Object
returns params like concatenated options.
-
#raw_address ⇒ Object
returns raw address.
-
#subject_type ⇒ Object
returns subject type.
Constructor Details
#initialize(options) ⇒ Ares
initializes new ares object
18 19 20 21 22 |
# File 'lib/ares_cz.rb', line 18 def initialize() @options = @result = Crack::XML.parse(Net::HTTP.get(URI.parse(SERVICE_URL % self.params))) return self end |
Instance Attribute Details
#options ⇒ Object (readonly)
Returns the value of attribute options.
7 8 9 |
# File 'lib/ares_cz.rb', line 7 def @options end |
#result ⇒ Object (readonly)
Returns the value of attribute result.
7 8 9 |
# File 'lib/ares_cz.rb', line 7 def result @result end |
Class Method Details
.find(options) ⇒ Object
finds subject by any part on ares service
12 13 14 |
# File 'lib/ares_cz.rb', line 12 def find() return new() end |
Instance Method Details
#address ⇒ Object
returns address
61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/ares_cz.rb', line 61 def address unless @address @address = { :city => self.raw_address['dtt:PSC'][0..0] == "1" ? self.raw_address['dtt:Nazev_mestske_casti'] : self.raw_address['dtt:Nazev_obce'], :street => [street_name, building_number].join(' '), :street_name => street_name, :building_number => building_number, :zip => self.raw_address['dtt:PSC'] } @address[:country] = "Česká republika" if self.raw_address['dtt:Kod_statu'].to_i == 203 end return @address end |
#answer ⇒ Object
returns just answer part
39 40 41 |
# File 'lib/ares_cz.rb', line 39 def answer @answer ||= self.result["are:Ares_odpovedi"]["are:Odpoved"]["are:Zaznam"] end |
#company_name ⇒ Object
returns company name
44 45 46 |
# File 'lib/ares_cz.rb', line 44 def company_name @company_name ||= self.answer["are:Obchodni_firma"] end |
#found? ⇒ Boolean
returns true if subject found on ares, otherwise false
25 26 27 28 |
# File 'lib/ares_cz.rb', line 25 def found? @found ||= !(self.result["are:Ares_odpovedi"]["are:Odpoved"]["are:Pocet_zaznamu"] == '0' || self.result["are:Ares_odpovedi"]["are:Odpoved"]["are:Error"]) end |
#ico ⇒ Object
returns ico
49 50 51 |
# File 'lib/ares_cz.rb', line 49 def ico @ico ||= self.answer["are:ICO"] end |
#params ⇒ Object
returns params like concatenated options
31 32 33 34 35 36 |
# File 'lib/ares_cz.rb', line 31 def params @params ||= URI.escape(@options.sort.inject([]) do |res, pair| res << "%s=%s" % [pair.first, pair.last] end.join('&')) end |
#raw_address ⇒ Object
returns raw address
76 77 78 79 80 |
# File 'lib/ares_cz.rb', line 76 def raw_address @raw_address ||= if self.subject_type == "P" self.answer["are:Identifikace"]["are:Adresa_ARES"] end end |
#subject_type ⇒ Object
returns subject type
54 55 56 57 58 |
# File 'lib/ares_cz.rb', line 54 def subject_type @subject_type ||= if self.answer["are:Identifikace"]["are:Osoba"].nil? "P" end end |