Module: Pilipinas
- Defined in:
- lib/pilipinas.rb,
lib/pilipinas/base.rb,
lib/pilipinas/city.rb,
lib/pilipinas/cache.rb,
lib/pilipinas/loader.rb,
lib/pilipinas/region.rb,
lib/pilipinas/db/city.rb,
lib/pilipinas/railtie.rb,
lib/pilipinas/version.rb,
lib/pilipinas/barangay.rb,
lib/pilipinas/province.rb,
lib/pilipinas/db/region.rb,
lib/pilipinas/db/barangay.rb,
lib/pilipinas/db/province.rb,
lib/pilipinas/db/concerns/static_record.rb,
lib/generators/pilipinas/migration_generator.rb
Overview
Top-level namespace for the Pilipinas gem.
Pilipinas is a read-only, file-backed directory of Philippine geographic divisions: Regions → Provinces → Cities/Municipalities → Barangays.
Data is loaded from YAML files bundled inside the gem, cached in memory for the lifetime of the process, and exposed through a clean query API.
Quick start
require "pilipinas"
Pilipinas::Region.all # => [#<Region ...>, ...]
Pilipinas::Region.count # => 17
region = Pilipinas::Region.find_by(name: "REGION V (Bicol Region)")
region.provinces # => [#<Province ...>, ...]
province = Pilipinas::Province.find_by(name: "CAMARINES SUR")
province.cities # => [#<City ...>, ...]
city = Pilipinas::City.find_by(name: "NAGA CITY")
city. # => [#<Barangay ...>, ...]
Database integration (optional – Rails only)
For ActiveRecord-backed models, run:
rails generate pilipinas:migration
rake pilipinas:load
Defined Under Namespace
Modules: Cache, Db, Loader Classes: Barangay, Base, City, Error, MigrationGenerator, Province, Railtie, Region, UnknownAttribute
Constant Summary collapse
- DATA_DIR =
This constant is part of a private API. You should avoid using this constant if possible, as it may be removed or be changed in the future.
Absolute path to the bundled
data/directory. File.('data', __dir__).freeze
- VERSION =
Semantic version of the gem.
Follows Semantic Versioning: MAJOR.MINOR.PATCH.
'1.1.0'