Class: Jgit::Group

Inherits:
Thor
  • Object
show all
Defined in:
lib/jgit/group.rb

Constant Summary collapse

PROMPT_GROUP =
"key in group name:"

Instance Method Summary collapse

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