Class: Jgit::Group
- Inherits:
-
Thor
- Object
- Thor
- Jgit::Group
- Defined in:
- lib/jgit/group.rb
Constant Summary collapse
- PROMPT_GROUP =
"key in group name:"
Instance Method Summary collapse
- #add(name = nil) ⇒ Object
- #list(show = true) ⇒ Object
- #remove(name) ⇒ Object
- #rename(name = nil, new_name = nil) ⇒ Object
Instance Method Details
#add(name = nil) ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/jgit/group.rb', line 13 def add(name = nil) name = prompt(PROMPT_GROUP) if name.nil? jexit "no such group" if name.empty? data = list(false) data.push(name) unless data.include?(name) save_data(GROUP_DATA, data.to_json) end |
#list(show = true) ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/jgit/group.rb', line 27 def list(show = true) current = load_data(CURRENT_GROUP) current = "default" if current.empty? data = load_obj(GROUP_DATA, Array) data.unshift("default") if show data.each do |val| puts (val == current ? "> " : " ") + val end end data.delete("default") data end |
#remove(name) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/jgit/group.rb', line 49 def remove(name) name = select_group(name) data = list(false) if data.delete(name).nil? jexit name == "default" ? "can't remove default group" : "no such group" else delete_file(CURRENT_GROUP) if name == load_data(CURRENT_GROUP) delete_file(project_path(name)) save_data(GROUP_DATA, data.to_json) end end |
#rename(name = nil, new_name = nil) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/jgit/group.rb', line 67 def rename(name = nil, new_name = nil) name = select_group(name) data = list(false) new_name = prompt("key in group name:") if new_name.nil? jexit "new_name exist" if data.include?(new_name) if data.delete(name).nil? jexit "no such group" else save_data(CURRENT_GROUP, new_name) if name == load_data(CURRENT_GROUP) data.push(new_name) save_data(GROUP_DATA, data.to_json) end end |