class Datasets::PenguinsRawData::SpeciesBase

Attributes

data_path[R]

Public Class Methods

new() click to toggle source
Calls superclass method Datasets::Dataset::new
# File lib/datasets/penguins.rb, line 23
def initialize
  super
  species = self.class.name.split("::").last.downcase
  @metadata.id = "palmerpenguins-raw-#{species}"
  @metadata.url = self.class::URL
  @metadata.licenses = ["CC0"]
  @data_path = cache_dir_path + "penguins" + (species + ".csv")
end

Public Instance Methods

each() { |record| ... } click to toggle source
# File lib/datasets/penguins.rb, line 34
def each
  return to_enum(__method__) unless block_given?

  open_data do |csv|
    csv.each do |row|
      next if row[0].nil?
      record = Record.new(*row.fields)
      yield record
    end
  end
end

Private Instance Methods

download() click to toggle source
Calls superclass method Datasets::Dataset#download
# File lib/datasets/penguins.rb, line 53
        def download
  super(data_path, metadata.url)
end
open_data() { |csv| ... } click to toggle source
# File lib/datasets/penguins.rb, line 46
        def open_data
  download unless data_path.exist?
  CSV.open(data_path, headers: :first_row, converters: :all) do |csv|
    yield csv
  end
end