Class: Zipclouder

Inherits:
Hashie::Mash
  • Object
show all
Defined in:
lib/zipclouder.rb,
lib/zipclouder/version.rb

Constant Summary collapse

ZIPCLOUD_HOST =
'zipcloud.ibsnet.co.jp'.freeze
ZIPCLOUD_API_URI =
'/api/search'.freeze
ZIPCLOUD_CONNECT_TIME =
10
VERSION =
"0.0.3"

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.search(zipcode) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/zipclouder.rb', line 15

def self.search zipcode
  args = {
    zipcode: zipcode
  }
  params = args.map {|k,v| "#{k}=#{v}"}.join('&')

  json = post_connect params
  unless json.blank?
    self.new JSON.parse json
  end
end

Instance Method Details

#addressObject



31
32
33
34
35
36
37
38
# File 'lib/zipclouder.rb', line 31

def address
  res = result
  [
    res.address1,
    res.address2,
    res.address3
  ].join
end

#error_messageObject



73
74
75
# File 'lib/zipclouder.rb', line 73

def error_message
  message
end

#kanaObject



40
41
42
43
44
45
46
47
# File 'lib/zipclouder.rb', line 40

def kana
  res = result
  [
    res.kana1,
    res.kana2,
    res.kana3
  ].join
end

#pref_codeObject



49
50
51
# File 'lib/zipclouder.rb', line 49

def pref_code
  result.prefcode
end

#resultObject



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# File 'lib/zipclouder.rb', line 57

def result
  if success?
    if results.one?
      results.first
    else
      "Error::Multpul Results"
    end
  else
    if error_message.present?
      error_message
    else
      "Error::No Result"
    end
  end
end

#success?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/zipclouder.rb', line 27

def success?
  status.eql?(200) and results.present?
end

#zip_codeObject



53
54
55
# File 'lib/zipclouder.rb', line 53

def zip_code
  result.zipcode
end