Sha256: 26fee371dc282b235bd61263e7e02706be48d34598238197009606b6d988b15b

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

module Nucleon
module Mixin
module Action
module Push
        
  #-----------------------------------------------------------------------------
  # Options
        
  def push_options(parser, optional = true)
    if optional
      parser.option_bool(:push, false, 
        '--push', 
        'nucleon.core.mixins.push.options.push'
      )
    else
      parser.options[:push] = true
    end
          
    parser.option_bool(:propogate, false,
      '--propogate', 
      'nucleon.core.mixins.push.options.propogate'
    )          
    parser.option_str(:remote, :edit,
      '--remote PROJECT_REMOTE',  
      'nucleon.core.mixins.push.options.remote'
    )
    parser.option_str(:revision, :master,
      '--revision PROJECT_REVISION',  
      'nucleon.core.mixins.push.options.revision'
    )         
  end
        
  #-----------------------------------------------------------------------------
  # Operations
        
  def push(project, remote = :edit)
    success = true
          
    if project && settings[:push]
      success = project.push(settings[:remote], extended_config(:push, {
        :revision  => settings[:revision],
        :propogate => settings[:propogate]
      }))
    end
    success
  end
end
end
end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nucleon-0.1.1 lib/core/mixin/action/push.rb