Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ssnickolay/pumper

Up gem version in dependent project
https://github.com/ssnickolay/pumper

Last synced: 2 days ago
JSON representation

Up gem version in dependent project

Awesome Lists containing this project

README

        

[![Build Status](https://travis-ci.org/ssnikolay/pumper.svg?branch=master)](https://travis-ci.org/ssnikolay/pumper)

Pumper
======

**Pumper** helps quickly update developed gem (e.g. <your_gem>)in dependent project (which uses bundler).

**Pumper** do:

1. Update <your_gem>'s version in Gemfile of project.

2. Remove any old versions of <your_gem>.

3. Install new build of <your_gem>.

Supports install gem to vendor/cache folder and using RVM (see [Options](#options))

## Installation

Add it to your .gemspec:

```ruby
spec.add_development_dependency 'pumper'
```

And run the following command to install it:

```sh
$ bundle install
```

Or install without gemspec:

```sh
$ gem install pumper
```

## Usage

For basic usage **Pumper** you need to go to gem folder and run:

+ your_gem
- your_gem.gemspec
- ...
+ rails_project
- app
- Gemfile
- ...

```sh
$ pwd
=> /Users/admin/Projects/your_gem
$ pumper -p rails_project
=>
rm -rf pkg && bundle exec rake build
your_gem 0.0.1 built to pkg/your_gem-0.0.1.gem.
gem uninstall your_gem --all -x
gem install ./pkg/your_gem-0.0.1.gem && cd /Users/admin/Projects/rails_project && bundle install
Successfully installed your_gem-0.0.1
1 gem installed
Success bump current gem
```

### Options

Option | Description
------------------------- |:-----------------------------------------------------------
`--project` | Path to ruby project where <your_gem> needs update
`--absolute_path` | If project path is absolute
`--gemset` | Gemset's name (if you use RVM)
`--vendor` | If project's gems stored in the vendor/cache
`--config` | If you want to use special config for updating project
`--list` | Select projects from `.pumper.yml` (use with --config)

Example:

```sh
$ pumper --project rails_project --gemset ruby-2.1.0@rails_project --vendor
=>
rm -rf pkg && bundle exec rake build
your_gem 0.0.1 built to pkg/your_gem-0.0.1.gem.
rvm ruby-2.1.0@my-app exec gem uninstall your_gem --all -x
Successfully uninstalled your_gem-0.0.1
cp pkg/* /Users/admin/Project/rails_project/vendor/cache && cd /Users/admin/Project/rails_project && rvm ruby-2.1.0@rails_project exec bundle install --local
Installing your_gem 0.0.1
Success bump current gem
```

#### Config option

For use `--config` option you need to put `.pumper.yml` to <your_gem> folder and write something like this:

```yml
projects:
rails_project:
path: /Users/admin/Projects/rails_project
absolute_path: true
gemset: ruby-2.1.0
vendor: true
another_project:
path: /Users/admin/Projects/another_project

```

and run

```sh
$ pumper --config
=>
# Update all (rails_project, another_project)

$ pumper --config --list rails_project
=>
# Update only rails_project
```