class Localedata::Configuration
Attributes
access_token[R]
projects[R]
Public Class Methods
new()
click to toggle source
# File lib/localedata/configuration.rb, line 9 def initialize @access_token = ENV["LOCALEDATA_ACCESS_TOKEN"] @projects = [] end
Public Instance Methods
config_file_path()
click to toggle source
# File lib/localedata/configuration.rb, line 31 def config_file_path File.expand_path(relative_config_file_path) end
load_config_file()
click to toggle source
# File lib/localedata/configuration.rb, line 14 def load_config_file validate_config_file! file_content = File.read(config_file_path) yaml_data = ERB.new(file_content).result config_data = YAML.load(yaml_data) @access_token = (config_data["access_token"] || @access_token) @projects = (config_data["projects"] || @projects) validate_configuration! end
relative_config_file_path()
click to toggle source
# File lib/localedata/configuration.rb, line 27 def relative_config_file_path File.join("config", "localedata.yml") end
Private Instance Methods
validate_config_file!()
click to toggle source
# File lib/localedata/configuration.rb, line 37 def validate_config_file! unless File.exist?(config_file_path) puts "Error: #{relative_file_path} does not exist." exit 1 end unless File.readable?(config_file_path) puts "Error: #{relative_file_path} is not readable." exit 1 end end
validate_configuration!()
click to toggle source
# File lib/localedata/configuration.rb, line 49 def validate_configuration! if @access_token.to_s.strip.empty? puts "Error: \"access_token\" is missing." exit 1 end unless @projects.kind_of?(Array) puts "Error: \"projects\" is not an array." exit 1 end @projects.each do |project| if project["id"].to_s.strip.empty? puts "Error: \"id\" in \"projects\" is missing." exit 1 end unless project["locales"].kind_of?(Hash) puts "Error: \"locales\" in \"projects\" is not a hash." exit 1 end project["locales"].each do |language_code, relative_file_path| file_path = File.expand_path(relative_file_path) unless File.exist?(file_path) puts "Error: #{relative_file_path} does not exist." exit 1 end unless File.readable?(file_path) puts "Error: #{relative_file_path} is not readable." exit 1 end unless File.writable?(file_path) puts "Error: #{relative_file_path} is not writable." exit 1 end end end end