class Cfan122::YamlGenerator

Attributes

path[R]
text[R]

Public Class Methods

generate_exam_agency(province = :ln, type = 'C1', subject = 3) click to toggle source
# File lib/cfan122/yaml_generator.rb, line 34
def self.generate_exam_agency province = :ln, type = 'C1', subject = 3
  YamlGenerator.new(name: province, key: "exam_agency_#{type}_#{subject}", text: ExamAgency.execute({province: province, type: type, subject: subject})).save
end
generate_exam_info(province = :ln, type = 'C1', subject = 3) click to toggle source
# File lib/cfan122/yaml_generator.rb, line 24
def self.generate_exam_info province = :ln, type = 'C1', subject = 3
  self.generate_exam_subject province, type, subject
  self.generate_exam_agency province, type, subject
  self.generate_exam_location province, type, subject
end
generate_exam_location(province = :ln, type = 'C1', subject = 3) click to toggle source
# File lib/cfan122/yaml_generator.rb, line 38
def self.generate_exam_location province = :ln, type = 'C1', subject = 3
  YamlGenerator.new(name: province, key: "exam_location_#{type}_#{subject}", text: ExamLocation.execute({province: province, type: type, subject: subject})).save
end
generate_exam_subject(province = :ln, type = 'C1', subject = 3) click to toggle source
# File lib/cfan122/yaml_generator.rb, line 30
def self.generate_exam_subject province = :ln, type = 'C1', subject = 3
  YamlGenerator.new(name: province, key: "exam_subject_#{type}_#{subject}", text: ExamSubject.execute({province: province, type: type, subject: subject})).save
end
new(params = {}) click to toggle source
# File lib/cfan122/yaml_generator.rb, line 9
def initialize params = {}
  @file_name, @key, @text = params[:name], params[:key], params[:text]
  @path = "./lib/#{self.class.name.split("::")[0]}/meta/#{@file_name}.yml"
end

Public Instance Methods

open() click to toggle source
# File lib/cfan122/yaml_generator.rb, line 14
def open
  YAML.load_file(path) if File.exist?(path)
end
save() click to toggle source
# File lib/cfan122/yaml_generator.rb, line 18
def save
  data = open || {}
  data[@key] = @text
  File.open(path, "w"){|file| file.write(data.to_yaml) }
end