class DataGov::Dataset

Attributes

ckan_metadata[RW]
id[RW]
resources[R]

Public Class Methods

from_id(id) click to toggle source
# File lib/data_gov/dataset.rb, line 40
def self.from_id(id)
  instance = new('')
  instance.id = id
  instance.ckan_metadata = JSON.parse(instance.pairtree.read('ckan.json'))
  instance
end
new(ckan_metadata) click to toggle source
# File lib/data_gov/dataset.rb, line 9
def initialize(ckan_metadata)
  @ckan_metadata = ckan_metadata
  @id = ckan_metadata['id']
end

Public Instance Methods

download_resources() click to toggle source
# File lib/data_gov/dataset.rb, line 26
def download_resources
  puts "Downloading resources for #{id}"
  resources.map { |resource| resource.download }
end
pairtree() click to toggle source
# File lib/data_gov/dataset.rb, line 31
def pairtree
  @pairtree ||= Pairtree.at(pairtree_location, create: true)
                        .mk(id.delete('-'))
end
pairtree_location() click to toggle source
# File lib/data_gov/dataset.rb, line 36
def pairtree_location
  ENV.fetch('DATA_DIR')
end
save_ckan_metadata() click to toggle source
# File lib/data_gov/dataset.rb, line 14
def save_ckan_metadata
  pairtree.open('ckan.json', 'w') do |io|
    io.write(JSON.pretty_generate(ckan_metadata))
  end
end