class Mycmd::Configuration
Constants
- CONFIG_FILE
- VALID_OPTIONS_KEYS
Attributes
path[R]
tasks[RW]
Public Class Methods
config_find(path = File.expand_path("."))
click to toggle source
# File lib/mycmd/configuration.rb, line 80 def config_find(path = File.expand_path(".")) file = File.join(path, CONFIG_FILE) if File.exists?(file) file else if path == "/" file = File.join(ENV["HOME"], CONFIG_FILE) File.exists?(file) ? file : nil else config_find(File.expand_path("..", path)) end end end
connect()
click to toggle source
# File lib/mycmd/configuration.rb, line 65 def connect conf = Configuration.new conf.connect end
get_variables()
click to toggle source
# File lib/mycmd/configuration.rb, line 70 def get_variables sql = "SELECT GV.* FROM INFORMATION_SCHEMA.GLOBAL_VARIABLES AS GV" client = self.connect variables = {} client.query(sql).each do |row| variables.store(row["VARIABLE_NAME"].downcase.to_sym, row["VARIABLE_VALUE"]) end variables end
new()
click to toggle source
# File lib/mycmd/configuration.rb, line 27 def initialize reset end
Public Instance Methods
connect()
click to toggle source
# File lib/mycmd/configuration.rb, line 45 def connect Mysql2::Client.new(to_hash) end
default()
click to toggle source
# File lib/mycmd/configuration.rb, line 58 def default self.host = "localhost" self.port = 3306 self.username = "root" end
merge(params)
click to toggle source
# File lib/mycmd/configuration.rb, line 31 def merge(params) default params.each do |k,v| self.send("#{k.to_s}=", v) end end
reset()
click to toggle source
# File lib/mycmd/configuration.rb, line 49 def reset @path = Configuration.config_find if @path merge YAML.load_file(@path) else default end end
to_hash()
click to toggle source
# File lib/mycmd/configuration.rb, line 38 def to_hash VALID_OPTIONS_KEYS.inject({}) do |c,k| c.store(k.to_sym, self.send(k.to_s)) unless self.send(k.to_s).nil? c end end