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