Sha256: f4f1dabbeb5a4ae7230c768ecc45ab9cd053b45399bbf2dd1663663484af6362

Contents?: true

Size: 605 Bytes

Versions: 3

Compression:

Stored size: 605 Bytes

Contents

class INE::Places::Place < OpenStruct
  include INE::Places::CSVRecord

  def self.find_all_by_province_id(province_id)
    raise ArgumentError if province_id.blank?

    collection_klass.records.select{ |place| place.province_id == province_id }
  end

  private

  def self.collection_klass
    INE::Places::PlacesCollection
  end

  def self.filter(records, name)
    return [] if name.blank?
    parameterized_name = name.parameterize

    records.select{|p| p.slug.include?(parameterized_name) }.
      reject{|p| ['ceuta','melilla'].include?(p.slug) }.
      sort_by{|p| p.province.slug }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ine-places-0.1.3 lib/ine/places/place.rb
ine-places-0.1.2 lib/ine/places/place.rb
ine-places-0.1.1 lib/ine/places/place.rb