class Adder
Public Class Methods
new(lang = 'de', sipl = 'singular', beginning, ending)
click to toggle source
Initialize with a language code and specify singular or plural. Devide the proverb into “beginning” and “ending”, mind the quotes!
# File lib/adder.rb, line 35 def initialize(lang = 'de', sipl = 'singular', beginning, ending) @log = @@log details = ask_details @log.debug('lang ' << @language) @log.debug('sipl ' << @sipl) @log.debug('beginning ' << @beginning) @log.debug('ending ' << @ending) listfile = trl('list') << '_' << @language @log.debug('listfile is ' << listfile) confdir = ENV['HOME'].dup << File::Separator << ".proverbs" user_list = confdir.dup << File::Separator << listfile listrb = user_list.dup << '.rb' if File::exist?(listrb) && File.readable?(listrb) require user_list else require_relative listfile end new_proverb = [@beginning, @ending] case @sipl.downcase when trl('s') $proverbs1.push new_proverb when trl('p') $proverbs0.push new_proverb else puts red(trl("Cannot add the proverb, invalid argument") << ' ' << bold("#{sipl}") ) exit false end if !File.exist?(confdir) Dir.mkdir(confdir) end File.rename(listrb, user_list.dup << '_bak.rb') if(File.exist?(listrb) ) File.open( listrb,'w') do |lfile| lfile.puts "$proverbs0=" << $proverbs0.uniq.to_s lfile.puts lfile.puts "$proverbs1=" << $proverbs1.uniq.to_s end puts green(trl("List %s has been updated") %listrb ) end
Private Instance Methods
ask_details()
click to toggle source
# File lib/adder.rb, line 80 def ask_details @language = Readline.readline( trl("Language") << " (de, en): ") @sipl = Readline.readline("\n" << trl("Singular or plural (s, p)") << (": ") ) @beginning = Readline.readline( "\n" << trl("Beginning of the proverb") << ": " ) @ending = Readline.readline( "\n" << trl("Ending of the proverb") << ": " ) end