Sha256: 7c687bdebaa6629f61052c1b84bf610d33e31c0e3c848ad6f27a7c80d7e92f4b

Contents?: true

Size: 1.07 KB

Versions: 8

Compression:

Stored size: 1.07 KB

Contents

module Nucleon
module Action
class Save < Nucleon.plugin_class(:action)
  
  include Mixin::Action::Project
  include Mixin::Action::Commit
  include Mixin::Action::Push
 
  #-----------------------------------------------------------------------------
  # Settings
  
  def configure
    super do 
      codes :project_failure,
            :commit_failure,
            :push_failure
      
      register :files, :array, '.'
      
      project_config
      commit_config(false)
      push_config
    end
  end
  
  #---
  
  def arguments
    [ :files ]
  end

  #-----------------------------------------------------------------------------
  # Operations
   
  def execute          
    super do |node, network|
      info('nucleon.actions.save.start')
          
      if project = project_load(Dir.pwd, 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

Version data entries

8 entries across 8 versions & 1 rubygems

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