No commit activity in last 3 years
No release in over 3 years
Release gems to internal rubygems such as geminabox, and disable `rake release`
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.6
>= 0
>= 0
>= 0
 Project Readme

Bundler::Geminabox

This gem provides rake geminabox_release command to release gem on internal rubygems server such as geminabox, and disable rake release command for foolproof.

Installation

Add following to your Gemfile:

gem 'bundler-geminabox'

And then execute:

$ bundle

Usage

How to release a gem

Modify Rakefile as:

- require "bundler/gem_tasks"
+ require "bundler/geminabox/gem_tasks"

Run following to release your gem to your internal rubygems server:

GEMINABOX=https://your.rubygems.org bundle exec rake geminabox_release

Note that rake release is disabled not to release to rubygems.org mistakenly.

How to fetch gems from your.rubygems.jp

Write your application's Gemfile as:

source 'https://your.rubygems.org'

gem 'your_awesome_geminabox_gem'

And then execute:

$ bundle

How to create a new gem

This gem also provides a command to create a skelton for a new gem to be released to https://your.rubygems.org

Run

GEMINABOX=https://your.rubygems.org bundle-geminabox gem GEM

instead of

bundle gem GEM

Example:

$ GEMINABOX=https://your.rubygems.org bundle-geminabox gem foo
      create  foo/Gemfile
      create  foo/.gitignore
      create  foo/lib/foo.rb
      create  foo/lib/foo/version.rb
      create  foo/LICENSE.txt
      create  foo/foo.gemspec
      create  foo/.consolerc
      create  foo/Rakefile
      create  foo/README.md
       force  foo/Gemfile
       force  foo/Rakefile

Note that Gemfile and Rakefile are updated.

FAQ

Does this gem work with only geminabox?

No. bundler-geminabox works with any internal rubygems compatible servers. The name is just because I am using geminabox.

I hate to type GEMINABOX everytime. Any good ways?

There are two ways.

1 . Just write following to your .bashrc:

export GEMINABOX=https://your.rubygems.org

2 . Create your own private wrapper specific to your enviroment

Here is a skelton https://github.com/sonots/bundler-foo.

The point is to prepare your own lib/bundler/foo/config.rb as:

require 'bundler/geminabox/config'
Bundler::Geminabox::Config.geminabox = 'https://rubygems.foo.jp'
Bundler::Geminabox::Config.gem_tasks = 'bundler/foo/gem_tasks'
Bundler::Geminabox::Config.release_task = 'foo_release'

As this shows, you can also customize rake geminabox_release command to your favorite rake foo_release command in this way.