Module: Capistrano::CLI::JsonTaskList
- Included in:
- Capistrano::CLI
- Defined in:
- lib/hell/lib/capistrano/cli.rb
Instance Method Summary collapse
- #environments ⇒ Object
- #is_environment?(task) ⇒ Boolean
- #task_list ⇒ Object
- #tasks(pattern = nil, opts = {}) ⇒ Object
Instance Method Details
#environments ⇒ Object
45 46 47 48 49 |
# File 'lib/hell/lib/capistrano/cli.rb', line 45 def environments @available_tasks ||= task_list environments = @available_tasks.select {|name, task| is_environment?(task)} environments.keys end |
#is_environment?(task) ⇒ Boolean
51 52 53 54 |
# File 'lib/hell/lib/capistrano/cli.rb', line 51 def is_environment?(task) return false unless task[:options].include?(:hell_tags) Array(task[:options][:hell_tags]).include?(:environment) end |
#task_list ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/hell/lib/capistrano/cli.rb', line 8 def task_list config = instantiate_configuration() config.debug = [:debug] config.dry_run = [:dry_run] config.preserve_roles = [:preserve_roles] config.logger.level = [:verbose] set_pre_vars(config) load_recipes(config) config.trigger(:load) [config, ] tasks = config.task_list(:all) tasks.reject! {|t| HELL_BLACKLIST.include?(t.fully_qualified_name)} tasks = Hash[tasks.map {|task| [task.fully_qualified_name, task.to_hash]}] config.trigger(:exit) tasks end |
#tasks(pattern = nil, opts = {}) ⇒ Object
30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/hell/lib/capistrano/cli.rb', line 30 def tasks(pattern = nil, opts = {}) @available_tasks ||= task_list tasks = @available_tasks.reject {|name, task| is_environment?(task)} if pattern.is_a?(String) if opts.fetch(:exact, false) tasks.select! {|name| name == pattern} else tasks.select! {|name| name =~ /#{pattern}/} end end tasks end |