class UkParliament::HouseMembers
Attributes
members[R]
Public Class Methods
new(house_id)
click to toggle source
# File lib/uk_parliament/house_members.rb, line 10 def initialize(house_id) @house_id = house_id @members = [] @config = configuration @backup = @config[:backup_before_write] end
Protected Instance Methods
backup_file()
click to toggle source
Back up an existing house's .json file.
# File lib/uk_parliament/house_members.rb, line 43 def backup_file filename = File.join(@config[:data_file_path], "#{@house_id}.json") if File.exist?(filename) backup_filename = "#{filename.split('.')[0]}-#{File.mtime(filename).strftime('%Y%m%d_%H%M%S')}.json" FileUtils.cp(filename, backup_filename) log.info("Previous '#{@house_id}' file was backed up") end end
load_file()
click to toggle source
Load a house's .json file from disk.
# File lib/uk_parliament/house_members.rb, line 20 def load_file filename = File.join(@config[:data_file_path], "#{@house_id}.json") raise "'#{filename}' Does not exist. Have you scraped '#{@house_id}' data yet? See README" unless File.exist?(filename) json = File.read(filename) @members = JSON.parse(json) end
save_file()
click to toggle source
Save a new version of a house's .json file to disk, optionally backing up any previous file beforehand.
# File lib/uk_parliament/house_members.rb, line 29 def save_file if @backup backup_file end filename = File.join(@config[:data_file_path], "#{@house_id}.json") File.open(filename, 'w') do |json_file| json_file.write(JSON.pretty_generate(@members)) end log.info("'#{@house_id}' saved to file") end