Sha256: 9a91a0a2fb1d93848d992c694fad1e03cba3ae5a872c8e98c3114cebbd41be1c

Contents?: true

Size: 993 Bytes

Versions: 8

Compression:

Stored size: 993 Bytes

Contents

module Nucleon
module Action
class Create < Nucleon.plugin_class(:action)
  
  include Mixin::Action::Project
 
  #-----------------------------------------------------------------------------
  # Settings
  
  def configure
    super do    
      codes :project_failure
      
      register :path, :str, Dir.pwd
      
      project_config
    end
  end
  
  #---
  
  def arguments
    [ :project_reference ]
  end
 
  #-----------------------------------------------------------------------------
  # Operations
   
  def execute
    super do |node, network|
      info('nucleon.actions.create.start')
      
      project = Nucleon.project(extended_config(:project, {
        :create    => true,
        :directory => settings[:path],
        :url       => settings[:project_reference],
        :revision  => settings[:revision],
        :pull      => true
      }), settings[:project_provider])
      
      myself.status = code.project_failure unless project
    end
  end
end
end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
nucleon-0.1.9 lib/nucleon/action/create.rb
nucleon-0.1.8 lib/nucleon/action/create.rb
nucleon-0.1.7 lib/nucleon/action/create.rb
nucleon-0.1.6 lib/nucleon/action/create.rb
nucleon-0.1.5 lib/nucleon/action/create.rb
nucleon-0.1.4 lib/nucleon/action/create.rb
nucleon-0.1.3 lib/nucleon/action/create.rb
nucleon-0.1.2 lib/nucleon/action/create.rb