YALTools::CmdLine module is a collection of methods which are highly ad-hoc and depending on this project.
These are not intended not to reuse by another project. If a reusable method is developed, it should be moved to another module package.
returns the instance of YALTools::Main.
This method might execute “exit(1)” because of
missing configuration file.
missing label of configuration file.
failed to connect to the couchdb server.
This method is designed for interactive tools, not for a daemon process use.
# File yalt/cmdline.rb, line 127 127: def getCouch(conf,label,debug=false) 128: ret = nil 129: 130: if not FileTest::exist?(conf) 131: $stderr.puts "[error] conf file, #{conf}. No such file or directory." 132: exit(1) 133: end 134: begin 135: wrapper = YALTools::MainWrapper.new(conf, label) 136: wrapper.debug = debug 137: wrapper.set_master_pwfile(get_default_master_pwfile(conf)) 138: $stderr.puts "" if debug 139: ret = wrapper.getCouch 140: rescue YALTools::LabelNotFoundError 141: $stderr.puts "[error] label name, #{label}, is not found." 142: $stderr.puts "[error] reason: #{$!}" if debug 143: exit(1) 144: rescue YALTools::ServerConnectionError 145: $stderr.puts "[error] wrong server setting corresponding to the label, #{label}." 146: $stderr.puts "[error] reason: #{$!}" if debug 147: exit(1) 148: rescue 149: $stderr.puts "[error] reason: #{$!}" if debug 150: end 151: return ret 152: end
returns the default master_pw filepath.
# File yalt/cmdline.rb, line 109 109: def get_default_master_pwfile(conf) 110: require 'socket' 111: basedir = File::dirname(conf) 112: ret = File::join([basedir, "master_pw.#{Socket::gethostname}.json"]) 113: ret = File::join([basedir, "master_pw.json"]) if not FileTest::exist?(ret) 114: return ret 115: end
return the default yaml conf filepath.
# File yalt/cmdline.rb, line 98 98: def get_default_yaml_conf(basedir) 99: ret = "" 100: ret = ENV["YALTCONFIG"] if ENV["YALTCONFIG"] != nil 101: ret = File::join([basedir,"..","conf","yalt.#{Socket::gethostname}.yaml"]) if ret.empty? or not FileTest::exist?(ret) 102: ret = File::join([basedir,"..","conf","yalt.yaml"]) if ret.empty? or not FileTest::exist?(ret) 103: 104: return ret 105: end
returns the default label name, “default.user“
# File yalt/cmdline.rb, line 91 91: def get_default_yaml_label() 92: return "default.user" 93: end
parses the line as json. returns the Hash object which converted by JSON::parse(line).
# File yalt/cmdline.rb, line 37 37: def line_to_json(line) # :yields: json_hash 38: json = nil 39: begin 40: json = JSON::parse(line) 41: rescue 42: json = {} 43: end 44: return json 45: end
iterates line which is read from $stdin or file.
The default value, ’-’, means that the $stdin is default source.
# File yalt/cmdline.rb, line 22 22: def load_line(file = '-') # :yields: line 23: if file == "-" 24: $stdin.each do |line| 25: yield line.strip 26: end 27: elsif FileTest.exist?(file) 28: open(file).each do |line| 29: yield line.strip 30: end 31: end 32: end
returnds the Array object which generated by CSV class.
# File yalt/cmdline.rb, line 49 49: def load_line_as_csv(file, sep) # :yields: row 50: require 'csv' 51: input = nil 52: input = $stdin if file == "-" 53: input = open(file) if FileTest.exist?(file) 54: 55: opts = {} 56: opts[:col_sep] = sep 57: opts[:headers] = true 58: opts[:skip_blanks] = true 59: CSV.new(input, opts).each do |row| 60: yield row 61: end 62: end
writes the data into file or $stdout. It assumes that the data is text data, that is the why it uses the puts() method instead of write().
# File yalt/cmdline.rb, line 67 67: def save_data(data, file, mode="a+", perms=0755) 68: if file == "-" 69: $stdout.puts(data) 70: $stdout.flush 71: else 72: open(file, mode, perms) do |f| 73: f.puts(data) 74: f.flush 75: end 76: end 77: end
sends HEAD request and returns a Hash object of results.
# File yalt/cmdline.rb, line 156 156: def get_header(couch,uri) 157: ret = couch.head(uri) 158: if ret.kind_of?(Net::HTTPSuccess) 159: json = {} 160: ret.each do |i| 161: json[i] = ret[i] 162: end 163: return json 164: end 165: end
returns the instance of YALTools::Main.
This method might execute “exit(1)” because of
missing configuration file.
missing label of configuration file.
failed to connect to the couchdb server.
This method is designed for interactive tools, not for a daemon process use.
# File yalt/cmdline.rb, line 127 127: def getCouch(conf,label,debug=false) 128: ret = nil 129: 130: if not FileTest::exist?(conf) 131: $stderr.puts "[error] conf file, #{conf}. No such file or directory." 132: exit(1) 133: end 134: begin 135: wrapper = YALTools::MainWrapper.new(conf, label) 136: wrapper.debug = debug 137: wrapper.set_master_pwfile(get_default_master_pwfile(conf)) 138: $stderr.puts "" if debug 139: ret = wrapper.getCouch 140: rescue YALTools::LabelNotFoundError 141: $stderr.puts "[error] label name, #{label}, is not found." 142: $stderr.puts "[error] reason: #{$!}" if debug 143: exit(1) 144: rescue YALTools::ServerConnectionError 145: $stderr.puts "[error] wrong server setting corresponding to the label, #{label}." 146: $stderr.puts "[error] reason: #{$!}" if debug 147: exit(1) 148: rescue 149: $stderr.puts "[error] reason: #{$!}" if debug 150: end 151: return ret 152: end
returns the default master_pw filepath.
# File yalt/cmdline.rb, line 109 109: def get_default_master_pwfile(conf) 110: require 'socket' 111: basedir = File::dirname(conf) 112: ret = File::join([basedir, "master_pw.#{Socket::gethostname}.json"]) 113: ret = File::join([basedir, "master_pw.json"]) if not FileTest::exist?(ret) 114: return ret 115: end
return the default yaml conf filepath.
# File yalt/cmdline.rb, line 98 98: def get_default_yaml_conf(basedir) 99: ret = "" 100: ret = ENV["YALTCONFIG"] if ENV["YALTCONFIG"] != nil 101: ret = File::join([basedir,"..","conf","yalt.#{Socket::gethostname}.yaml"]) if ret.empty? or not FileTest::exist?(ret) 102: ret = File::join([basedir,"..","conf","yalt.yaml"]) if ret.empty? or not FileTest::exist?(ret) 103: 104: return ret 105: end
returns the default label name, “default.user“
# File yalt/cmdline.rb, line 91 91: def get_default_yaml_label() 92: return "default.user" 93: end
parses the line as json. returns the Hash object which converted by JSON::parse(line).
# File yalt/cmdline.rb, line 37 37: def line_to_json(line) # :yields: json_hash 38: json = nil 39: begin 40: json = JSON::parse(line) 41: rescue 42: json = {} 43: end 44: return json 45: end
iterates line which is read from $stdin or file.
The default value, ’-’, means that the $stdin is default source.
# File yalt/cmdline.rb, line 22 22: def load_line(file = '-') # :yields: line 23: if file == "-" 24: $stdin.each do |line| 25: yield line.strip 26: end 27: elsif FileTest.exist?(file) 28: open(file).each do |line| 29: yield line.strip 30: end 31: end 32: end
returnds the Array object which generated by CSV class.
# File yalt/cmdline.rb, line 49 49: def load_line_as_csv(file, sep) # :yields: row 50: require 'csv' 51: input = nil 52: input = $stdin if file == "-" 53: input = open(file) if FileTest.exist?(file) 54: 55: opts = {} 56: opts[:col_sep] = sep 57: opts[:headers] = true 58: opts[:skip_blanks] = true 59: CSV.new(input, opts).each do |row| 60: yield row 61: end 62: end
writes the data into file or $stdout. It assumes that the data is text data, that is the why it uses the puts() method instead of write().
# File yalt/cmdline.rb, line 67 67: def save_data(data, file, mode="a+", perms=0755) 68: if file == "-" 69: $stdout.puts(data) 70: $stdout.flush 71: else 72: open(file, mode, perms) do |f| 73: f.puts(data) 74: f.flush 75: end 76: end 77: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.