Class: Codger::CLI
- Inherits:
-
Thor
- Object
- Thor
- Codger::CLI
- Defined in:
- lib/codger/cli.rb
Instance Method Summary collapse
- #cache(identifier) ⇒ Object
- #cached ⇒ Object
- #config(name = nil, value = nil) ⇒ Object
- #diff(*tags) ⇒ Object
- #gen(identifier, path = '.') ⇒ Object
- #history ⇒ Object
- #repeat(*tags) ⇒ Object
- #uncache(identifier) ⇒ Object
Instance Method Details
#cache(identifier) ⇒ Object
12 13 14 |
# File 'lib/codger/cli.rb', line 12 def cache identifier Manager.default.cache identifier end |
#cached ⇒ Object
17 18 19 20 21 |
# File 'lib/codger/cli.rb', line 17 def cached Manager.default.settings[:cached].each do |identifier, _| puts identifier end end |
#config(name = nil, value = nil) ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/codger/cli.rb', line 29 def config(name = nil, value = nil) if name if value Manager.default.global_settings[:config][name] = value Manager.default.save_globals else puts Manager.default.settings[:config][name] end else puts YAML.dump(Manager.default.settings[:config]).lines.drop(1).join end end |
#diff(*tags) ⇒ Object
67 68 69 70 71 72 73 74 75 76 77 |
# File 'lib/codger/cli.rb', line 67 def diff(*) Dir.mktmpdir do |dir| Manager.default.settings[:runs].each do |info| if .empty? or ( & info[:tags]).any? generator = Manager.default.generator(info[:generator]) generator.run dir, info[:params] end end system Manager.default.diff_command(dir, Dir.pwd) end end |
#gen(identifier, path = '.') ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/codger/cli.rb', line 44 def gen identifier, path='.' path = File. path unless File.exists? path FileUtils.mkdir path Git.init path end manager = Manager.new File.join(path, '.codger') generator = manager.generator identifier puts "Running #{generator.identifier}" generator.run path manager.record_run generator if [:record] end |
#history ⇒ Object
58 59 60 61 62 63 64 |
# File 'lib/codger/cli.rb', line 58 def history Manager.default.settings[:runs].each do |info| puts "#{info[:generator]} [#{info[:tags].join(' ')}]" puts Generator.format_params(info[:params]) puts end end |
#repeat(*tags) ⇒ Object
80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/codger/cli.rb', line 80 def repeat(*) Manager.default.settings[:runs].each do |info| if .empty? or ( & info[:tags]).any? puts "Running #{info[:generator]} [#{info[:tags].join(' ')}]" puts Generator.format_params(info[:params]) puts generator = Manager.default.generator(info[:generator]) generator.run Dir.pwd, info[:params] end end end |