class GitCleanser::SmartThing
Public Class Methods
new(config)
click to toggle source
# File lib/git_cleanser/smart_thing.rb, line 3 def initialize(config) @config = config @compiled_files = sh(@config['compiled_files_command']).split @ignored_and_untracked_files = git_ls_files(:ignored, :other) @ignored_but_tracked_files = git_ls_files(:ignored) @all_files = Dir['**/*'] end
Public Instance Methods
generated_but_not_ignored()
click to toggle source
# File lib/git_cleanser/smart_thing.rb, line 11 def generated_but_not_ignored @compiled_files - @ignored_and_untracked_files end
ignored_but_not_generated()
click to toggle source
# File lib/git_cleanser/smart_thing.rb, line 15 def ignored_but_not_generated @ignored_and_untracked_files - @compiled_files end
ignored_but_tracked()
click to toggle source
# File lib/git_cleanser/smart_thing.rb, line 19 def ignored_but_tracked @ignored_but_tracked_files end
uncompiled()
click to toggle source
# File lib/git_cleanser/smart_thing.rb, line 23 def uncompiled @all_files - @compiled_files end
Private Instance Methods
git_ls_files(*ruby_opts)
click to toggle source
# File lib/git_cleanser/smart_thing.rb, line 29 def git_ls_files *ruby_opts shell_opts = ruby_opts.map { |opt| "--#{opt}" }.join(" ") sh("git ls-files -z --exclude-standard #{shell_opts}").split("\0") end
sh(cmd)
click to toggle source
# File lib/git_cleanser/smart_thing.rb, line 34 def sh(cmd) `#{cmd}`.tap do if $?.exitstatus > 0 raise "Shell command failed: " + cmd end end end