serbia_zip_codes 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +16 -0
- data/LICENSE.txt +22 -0
- data/README.md +71 -0
- data/Rakefile +8 -0
- data/lib/data/serbia_zip_codes.yaml +3515 -0
- data/lib/serbia_zip_codes.rb +18 -0
- data/serbia_zip_codes.gemspec +21 -0
- data/test/test_serbia_zip_codes.rb +41 -0
- metadata +68 -0
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
3
|
+
class SerbiaZipCodes
|
4
|
+
def self.load_data
|
5
|
+
@data = YAML.load_file File.join(File.dirname(__FILE__),"data/serbia_zip_codes.yaml")
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.find_by_zip(zip = nil)
|
9
|
+
load_data
|
10
|
+
@data.select { |d| d["zip_code"].match /#{zip}/i }
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
def self.find_by_city(city = nil)
|
15
|
+
load_data
|
16
|
+
@data.select { |d| d["city"].match /#{city}/i }
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.name = "serbia_zip_codes"
|
7
|
+
spec.version = "0.0.2"
|
8
|
+
spec.authors = ["Nebojša Jakovljević"]
|
9
|
+
spec.email = ["nebojsa@nebjak.net"]
|
10
|
+
spec.summary = %q{Easy access to Serbia zip codes}
|
11
|
+
spec.description = %q{Easy access to Serbia zip codes. You can search zip code by city, or city by zip code.}
|
12
|
+
spec.homepage = "http://github.com/nebjak/serbia_zip_codes-ruby"
|
13
|
+
spec.license = "MIT"
|
14
|
+
|
15
|
+
spec.files = `git ls-files -z`.split("\x0")
|
16
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
17
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
|
+
spec.require_paths = ["lib"]
|
19
|
+
|
20
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
21
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require 'serbia_zip_codes'
|
3
|
+
|
4
|
+
class SerbiaZipCodesTest < Test::Unit::TestCase
|
5
|
+
def test_search_by_zip
|
6
|
+
small_result = [{"city"=>"Loznica", "zip_code"=>"15300"}]
|
7
|
+
big_result = [
|
8
|
+
{"city"=>"Loznica", "zip_code"=>"15300"},
|
9
|
+
{"city"=>"Korenita", "zip_code"=>"15302"},
|
10
|
+
{"city"=>"Tršić", "zip_code"=>"15303"},
|
11
|
+
{"city"=>"Petlovača", "zip_code"=>"15304"},
|
12
|
+
{"city"=>"Lipolist", "zip_code"=>"15305"},
|
13
|
+
{"city"=>"Prnjavor Mačvanski", "zip_code"=>"15306"},
|
14
|
+
{"city"=>"Lešnica", "zip_code"=>"15307"},
|
15
|
+
{"city"=>"Jadranska Lešnica", "zip_code"=>"15308"},
|
16
|
+
{"city"=>"Brezjak", "zip_code"=>"15309"}
|
17
|
+
]
|
18
|
+
assert_equal small_result, SerbiaZipCodes.find_by_zip("15300")
|
19
|
+
assert_equal big_result, SerbiaZipCodes.find_by_zip("1530")
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_search_by_city
|
23
|
+
small_result = [{"city"=>"Novi Beograd", "zip_code"=>"11070"}]
|
24
|
+
big_result = [
|
25
|
+
{"city"=>"Beograd", "zip_code"=>"11000"},
|
26
|
+
{"city"=>"Beograd Vozdovac", "zip_code"=>"11010"},
|
27
|
+
{"city"=>"Beograd Čukarica", "zip_code"=>"11030"},
|
28
|
+
{"city"=>"Beograd Zvezdara", "zip_code"=>"11050"},
|
29
|
+
{"city"=>"Beograd Palilula", "zip_code"=>"11060"},
|
30
|
+
{"city"=>"Novi Beograd", "zip_code"=>"11070"},
|
31
|
+
{"city"=>"Beograd Zemun", "zip_code"=>"11080"},
|
32
|
+
{"city"=>"Beograd Rakovica", "zip_code"=>"11090"},
|
33
|
+
{"city"=>"Mali Beograd", "zip_code"=>"24309"}
|
34
|
+
]
|
35
|
+
assert_equal small_result, SerbiaZipCodes.find_by_city("Novi Beograd")
|
36
|
+
assert_equal small_result, SerbiaZipCodes.find_by_city("novi beograd")
|
37
|
+
assert_equal small_result, SerbiaZipCodes.find_by_city("NOVI BEOGRAD")
|
38
|
+
assert_equal small_result, SerbiaZipCodes.find_by_city("NoVi BeOgRad")
|
39
|
+
assert_equal big_result, SerbiaZipCodes.find_by_city("beograd")
|
40
|
+
end
|
41
|
+
end
|
metadata
ADDED
@@ -0,0 +1,68 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: serbia_zip_codes
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Nebojša Jakovljević
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2014-12-15 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '10.0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '10.0'
|
27
|
+
description: Easy access to Serbia zip codes. You can search zip code by city, or
|
28
|
+
city by zip code.
|
29
|
+
email:
|
30
|
+
- nebojsa@nebjak.net
|
31
|
+
executables: []
|
32
|
+
extensions: []
|
33
|
+
extra_rdoc_files: []
|
34
|
+
files:
|
35
|
+
- ".gitignore"
|
36
|
+
- LICENSE.txt
|
37
|
+
- README.md
|
38
|
+
- Rakefile
|
39
|
+
- lib/data/serbia_zip_codes.yaml
|
40
|
+
- lib/serbia_zip_codes.rb
|
41
|
+
- serbia_zip_codes.gemspec
|
42
|
+
- test/test_serbia_zip_codes.rb
|
43
|
+
homepage: http://github.com/nebjak/serbia_zip_codes-ruby
|
44
|
+
licenses:
|
45
|
+
- MIT
|
46
|
+
metadata: {}
|
47
|
+
post_install_message:
|
48
|
+
rdoc_options: []
|
49
|
+
require_paths:
|
50
|
+
- lib
|
51
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
52
|
+
requirements:
|
53
|
+
- - ">="
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
56
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
57
|
+
requirements:
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
requirements: []
|
62
|
+
rubyforge_project:
|
63
|
+
rubygems_version: 2.2.2
|
64
|
+
signing_key:
|
65
|
+
specification_version: 4
|
66
|
+
summary: Easy access to Serbia zip codes
|
67
|
+
test_files:
|
68
|
+
- test/test_serbia_zip_codes.rb
|