Class: Legion::Cli::Lex::Queue

Inherits:
Thor
  • Object
show all
Includes:
Thor::Actions
Defined in:
lib/legion/cli/lex/queue.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.source_rootObject



9
10
11
# File 'lib/legion/cli/lex/queue.rb', line 9

def self.source_root
  File.dirname(__FILE__)
end

Instance Method Details

#create(name) ⇒ Object



20
21
22
23
24
25
26
# File 'lib/legion/cli/lex/queue.rb', line 20

def create(name)
  template('templates/queue_helper.erb', 'spec/queue_helper.rb')
  template('templates/queue.erb',
           "lib/legion/extensions/#{lex}/transport/queues/#{name}.rb",
           { name: name, lex: lex })
  template('templates/queue_spec.erb', "spec/queues/#{name}_spec.rb", { name: name, lex: lex })
end

#delete(name) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/legion/cli/lex/queue.rb', line 29

def delete(name)
  remove_file("lib/legion/extensions/#{lex}/transport/queues/#{name}.rb")
  remove_file("spec/queues/#{name}_spec.rb")
  remove_file("spec/transport/queues/#{name}_spec.rb")

  if Dir.exist? "#{Dir.pwd}/lib/legion/extensions/#{lex}/transport/queues/"
    remove_dir("#{Dir.pwd}/lib/legion/extensions/#{lex}/transport/queues") if Dir.empty?("#{Dir.pwd}/lib/legion/extensions/#{lex}/transport/queues/")
    remove_dir("#{Dir.pwd}/lib/legion/extensions/#{lex}/transport") if Dir.empty?("#{Dir.pwd}/lib/legion/extensions/#{lex}/transport")
  end

  remove_dir("#{Dir.pwd}/spec/queues") if Dir.exist?("#{Dir.pwd}/spec/queues") && Dir.empty?("#{Dir.pwd}/spec/queues")

  nil
end