Module: GitCrecord
- Defined in:
- lib/git_crecord.rb,
lib/git_crecord/ui.rb,
lib/git_crecord/git.rb,
lib/git_crecord/diff.rb,
lib/git_crecord/logger.rb,
lib/git_crecord/version.rb,
lib/git_crecord/ui/color.rb,
lib/git_crecord/diff/file.rb,
lib/git_crecord/diff/hunk.rb,
lib/git_crecord/diff/line.rb,
lib/git_crecord/quit_action.rb,
lib/git_crecord/ui/help_window.rb,
lib/git_crecord/diff/difference.rb,
lib/git_crecord/ui/hunks_window.rb
Defined Under Namespace
Modules: Diff, Git, UI
Classes: QuitAction
Constant Summary
collapse
- LOGGER =
Logger.new(File.new(File.join(ENV['HOME'], '.git-crecord.log'), 'w'))
- VERSION =
'1.1.0'
Class Method Summary
collapse
Class Method Details
.help ⇒ Object
48
49
50
51
52
53
54
55
56
57
58
59
60
|
# File 'lib/git_crecord.rb', line 48
def self.help
puts " usage: git crecord [<options>]\n\n -u, --untracked-files -- show untracked files\n -R, --reverse -- unstage hunks\n --version -- show version information\n -h -- this help message\n\n in-program commands:\n \#{UI::HelpWindow::CONTENT.gsub(/^/, ' ')}\n HELP\nend\n"
|
.main(argv) ⇒ Object
10
11
12
13
14
15
16
17
18
19
20
|
# File 'lib/git_crecord.rb', line 10
def self.main(argv)
if argv.include?('--version')
puts VERSION
true
elsif argv.include?('--help') || argv.include?('-h')
help
true
else
run(with_untracked_files: untracked_files?(argv), reverse: reverse?(argv))
end
end
|
.reverse?(argv) ⇒ Boolean
28
29
30
|
# File 'lib/git_crecord.rb', line 28
def self.reverse?(argv)
argv.include?('--reverse') || argv.include?('-R')
end
|
.run(with_untracked_files: false, reverse: false) ⇒ Object
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'lib/git_crecord.rb', line 32
def self.run(with_untracked_files: false, reverse: false)
toplevel_dir = Git.toplevel_dir
return false if toplevel_dir.empty?
Dir.chdir(toplevel_dir) do
files = Diff.parse(Git.diff(staged: reverse), reverse)
files.concat(Diff.untracked_files(Git.status)) if with_untracked_files
return false if files.empty?
result = UI.run(files)
return result.call(reverse) == true if result.respond_to?(:call)
true
end
end
|
.untracked_files?(argv) ⇒ Boolean
22
23
24
25
26
|
# File 'lib/git_crecord.rb', line 22
def self.untracked_files?(argv)
return false if reverse?(argv)
argv.include?('--untracked-files') || argv.include?('-u')
end
|