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