Sha256: 3020ff1de4c2a869ddfe06a4b426664929d910435b2884a845edebe4356c3a01

Contents?: true

Size: 1.14 KB

Versions: 3

Compression:

Stored size: 1.14 KB

Contents

module Relish
  module Command
    class Versions < Base
      include ResourceMethods
      resource_path :versions
      
      desc    'list the versions for a project'
      command :default do
        puts format(resource[resource_path_for_no_option].get(:accept => :json))
      end

      usage   'versions:add <project>:<version>'
      desc    ['add a version to a project',
               'example: relish versions:add rspec/rspec-core:2.0']
      command :add do
        puts resource[resource_path_for_option].post(
          :version => { :name => version_name }
        )
      end
      
      usage   'versions:remove <project>:<version>'
      desc    ['remove a version from a project',
               'example: relish versions:remove rspec/rspec-core:2.0']
      command :remove do
        puts resource["#{resource_path_for_option}/#{version_name}"].delete
      end
      
    private
      
      def version_name
        @param && @param.extract_option || error(:version_blank)
      end
    
      def format(response)
        json_parse(response) do |hash|
          "#{hash['version']['name']}"
        end
      end
      
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
relish-0.2.0 lib/relish/commands/versions.rb
relish-0.1.6 lib/relish/commands/versions.rb
relish-0.1.5 lib/relish/commands/versions.rb