Skip to content

crispgm/gsm

Repository files navigation

GSM Sources Manager for Ruby Gems

Gem Version Build status Code Climate Test Coverage

GSM is a simple sources manager for RubyGems. GSM means GSM Sources Manager as a recursive acronym or simply Gem Sources Manager.

In Ruby development, we always need alternative RubyGems source in special networks. e.g. In China Mainland, you know. GSM helps get your gem sources managed.

Installation

Install with RubyGems

$ gem install gsm-sources-manager
$ gsm --version

Or, you may install manually

$ git clone https://github.com/crispgm/gsm.git
$ bundle install
$ bundle exec exe/gsm --version

Documentation

Getting Started

Once you have installed and bootstrapped gsm with commands other than --help or --version, gsm will load sources from local gem sources -l. HINT: The sources will be named after gemstones, e.g. Amethyst.

Commands

List

List sources within gsm.

$ gsm list
Amethyst: https://gems.ruby-china.org/

Use

Use a source with source_name.

$ gsm use Amethyst
GSM: Source `Amethyst` has been applied.
$ gsm list

Amethyst: https://rubygems.org/ (*)

Add

Use a source with source_name and source_url.

--use: Use the input source as well. Equivalent to gsm add and then gsm use.

$ gsm add Amethyst https://rubygems.org/

Available Sources

Del

Delete a source with source_name.

$ gsm del Amethyst

Reset

Reset all sources.

$ gsm reset

Mirror

Mirror the source with bundle.

--reset: Reset mirror of bundle configuration.

$ gsm mirror Amethyst

Help

Show help info.

$ gsm help

API Reference

TODO: API Reference of libgsm.

Contributing