Sha256: 4d254e37f96c275fbb595fd8738322578fd0b5fba79ca36f013451f81e937bb4

Contents?: true

Size: 1.25 KB

Versions: 15

Compression:

Stored size: 1.25 KB

Contents

module Nucleon
module Action
module Project
class Save < Nucleon.plugin_class(:nucleon, :action)
  
  include Mixin::Action::Project
  include Mixin::Action::Commit
  include Mixin::Action::Push
  
  #-----------------------------------------------------------------------------
  # Info
  
  def self.describe
    super(:project, :save, 800)
  end
 
  #-----------------------------------------------------------------------------
  # Settings
  
  def configure
    super do 
      codes :project_failure,
            :commit_failure,
            :push_failure
      
      register_str :path, Dir.pwd
      register_files :files, '.'
      
      project_config
      commit_config(false)
      push_config
    end
  end
  
  #---
  
  def arguments
    [ :files ]
  end

  #-----------------------------------------------------------------------------
  # Operations
   
  def execute          
    super do
      info('start')
          
      if project = project_load(settings[:path], false, false)
        if commit(project, settings[:files])
          myself.status = code.push_failure unless push(project)
        else
          myself.status = code.commit_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/save.rb
nucleon-0.2.15 lib/nucleon/action/project/save.rb
nucleon-0.2.14 lib/nucleon/action/project/save.rb
nucleon-0.2.13 lib/nucleon/action/project/save.rb
nucleon-0.2.12 lib/nucleon/action/project/save.rb
nucleon-0.2.11 lib/nucleon/action/project/save.rb
nucleon-0.2.10 lib/nucleon/action/project/save.rb
nucleon-0.2.9 lib/nucleon/action/project/save.rb
nucleon-0.2.8 lib/nucleon/action/project/save.rb
nucleon-0.2.7 lib/nucleon/action/project/save.rb
nucleon-0.2.6 lib/nucleon/action/project/save.rb
nucleon-0.2.5 lib/nucleon/action/project/save.rb
nucleon-0.2.4 lib/nucleon/action/project/save.rb
nucleon-0.2.3 lib/nucleon/action/project/save.rb
nucleon-0.2.2 lib/nucleon/action/project/save.rb