Sha256: 42bd40cf6b80851f366b0751d3c0a65ec080b7adf1c75cf29da384d5569483d7

Contents?: true

Size: 1.26 KB

Versions: 15

Compression:

Stored size: 1.26 KB

Contents

module Nucleon
module Action
module Project
class Remove < Nucleon.plugin_class(:nucleon, :action)
  
  include Mixin::Action::Project
  include Mixin::Action::Push
  
  #-----------------------------------------------------------------------------
  # Info
  
  def self.describe
    super(:project, :remove, 600)
  end
 
  #-----------------------------------------------------------------------------
  # Settings
  
  def configure
    super do    
      codes :project_failure,
            :delete_failure,
            :push_failure
      
      register_str :path, Dir.pwd       
      register_str :sub_path, nil
      
      project_config
      push_config
    end
  end
  
  #---
  
  def ignore
    [ :project_reference ]
  end
  
  def arguments
    [ :sub_path ]
  end
 
  #-----------------------------------------------------------------------------
  # Operations
  
  def execute
    super do
      info('start')
      
      if project = project_load(settings[:path], false)
        if project.delete_subproject(settings[:sub_path])
          myself.status = code.push_failure unless push(project)
        else
          myself.status = code.delete_failure
        end
      else
        myself.status = code.project_failure  
      end
    end
  end
end
end
end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
nucleon-0.2.16 lib/nucleon/action/project/remove.rb
nucleon-0.2.15 lib/nucleon/action/project/remove.rb
nucleon-0.2.14 lib/nucleon/action/project/remove.rb
nucleon-0.2.13 lib/nucleon/action/project/remove.rb
nucleon-0.2.12 lib/nucleon/action/project/remove.rb
nucleon-0.2.11 lib/nucleon/action/project/remove.rb
nucleon-0.2.10 lib/nucleon/action/project/remove.rb
nucleon-0.2.9 lib/nucleon/action/project/remove.rb
nucleon-0.2.8 lib/nucleon/action/project/remove.rb
nucleon-0.2.7 lib/nucleon/action/project/remove.rb
nucleon-0.2.6 lib/nucleon/action/project/remove.rb
nucleon-0.2.5 lib/nucleon/action/project/remove.rb
nucleon-0.2.4 lib/nucleon/action/project/remove.rb
nucleon-0.2.3 lib/nucleon/action/project/remove.rb
nucleon-0.2.2 lib/nucleon/action/project/remove.rb