Class: GreedyTemplate
- Inherits:
-
Object
- Object
- GreedyTemplate
- Defined in:
- lib/atcoder_greedy/lib/greedy_template.rb
Class Method Summary collapse
Instance Method Summary collapse
- #add(file_path) ⇒ Object
- #delete(file_name) ⇒ Object
-
#initialize ⇒ GreedyTemplate
constructor
A new instance of GreedyTemplate.
- #list ⇒ Object
- #set_default(file_name) ⇒ Object
Constructor Details
#initialize ⇒ GreedyTemplate
Returns a new instance of GreedyTemplate.
5 6 7 8 |
# File 'lib/atcoder_greedy/lib/greedy_template.rb', line 5 def initialize @dir = AtcoderGreedy::get_config_path + '/templates' Dir.mkdir(@dir) unless Dir.exists?(@dir) end |
Class Method Details
.get_template_path(file_name) ⇒ Object
80 81 82 83 84 85 |
# File 'lib/atcoder_greedy/lib/greedy_template.rb', line 80 def self.get_template_path(file_name) type = File.extname(file_name).delete('.') type_dir = AtcoderGreedy::get_config_path + '/templates' + '/' + type file = type_dir + '/' + File.basename(file_name) File.exists?(file) ? file : nil end |
Instance Method Details
#add(file_path) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/atcoder_greedy/lib/greedy_template.rb', line 10 def add(file_path) # save template to language directory file = File.open(file_path) file_name = File.basename(file_path) type_dir = @dir + '/' + File.extname(file_path).delete('.') Dir.mkdir(type_dir) unless Dir.exists?(type_dir) if File.exists?(type_dir + '/' + file_name) print "Template [#{file_name}] is already exists. Do you update?[y/N]:" s = $stdin.gets.chomp if s == 'y' || s == 'yes' FileUtils.cp(file, type_dir) puts 'Template file is updated.' puts "if you want to use this file as a default, please run 'atcoder_greedy template -s #{file_name}'" end else FileUtils.cp(file, type_dir) puts 'Template file is added.' puts "if you want to use this file as a default, please run 'atcoder_greedy template -s #{file_name}'" end end |
#delete(file_name) ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/atcoder_greedy/lib/greedy_template.rb', line 60 def delete(file_name) type = File.extname(file_name).delete('.') type_dir = @dir + '/' + type file = type_dir + '/' + File.basename(file_name) if File.exists?(file) print "Do you delete [#{file_name}]?[y/N]:" s = $stdin.gets.chomp if s == 'y' || s == 'yes' if File.basename(file_name) == get_default(type) AtcoderGreedy.configure(default_template: {"#{type}": ''}) end FileUtils.remove_file(file) puts 'Template file is deleted.' end else puts "File [#{file_name}] doesn't exists. confirm input name." self.list end end |
#list ⇒ Object
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/atcoder_greedy/lib/greedy_template.rb', line 31 def list puts "Show Template file lists. [d] is this language default. ---------------------" Dir::glob(@dir + '/*').each do |l| puts "#{File.basename(l)}:" Dir::glob("#{l}/*").each do |f| default = get_default(File.basename(l)) if default != nil && File.basename(f) == default print ' [d] ' else print ' - ' end puts "#{File.basename(f)}" end end end |
#set_default(file_name) ⇒ Object
47 48 49 50 51 52 53 54 55 56 57 58 |
# File 'lib/atcoder_greedy/lib/greedy_template.rb', line 47 def set_default(file_name) type = File.extname(file_name).delete('.') type_dir = @dir + '/' + type file = type_dir + '/' + File.basename(file_name) if File.exists?(file) AtcoderGreedy.configure(default_template: {"#{type}": file}) puts 'Set new default template.' else puts "File [#{file_name}] doesn't exists. confirm input name." self.list end end |