LoginSignup
5
2

More than 5 years have passed since last update.

私の最初`gem`を作成しましょう

Last updated at Posted at 2017-05-18

簡単なgemを作成しましょう。
参考したり、共有したりしやすいように、Githubに貼ってきました。


1. gem名を付けましょう

簡単に始めます。私のbubugemとgemspecファイルを作成します

$ tree
.
└── bubu
    ├── bubu.gemspec
    └── lib
        └── bubu.rb

gemのパッケージのソースではlibディレクトリ内に置いていきます
以上の構築を使うと、require 'bubu'をロード際に、私のgemを簡単に使えるように

2. Hello gem!をしましょう

簡単なHello to Gem!メッセージを表示する

lib/bubu.rb

# bubu gem
class Bubu
  def self.say_hi
    puts 'Hello to Gem!'
  end
end

3. bubuのプロフィール追加

gemspecファイルでは作成者、バージョン、目的とかを書いておきます

bubu.gemspec

Gem::Specification.new do |s|
  s.name        = 'bubu'
  s.version     = '0.0.0'
  s.date        = '2017-05-18'
  s.summary     = 'bubu!'
  s.description = 'Hello to gem!'
  s.authors     = ['Vo Xuan Hoang']
  s.email       = 'hoangvx@gmail.com'
  s.files       = ['lib/bubu.rb']
  s.homepage    =
    'http://rubygems.org/gems/bubu'
  s.license     = 'MIT'
end

4. gemビルドします

簡単的にローカルでインストールできます

$ gem build bubu.gemspec

Successfully built RubyGem
Name: bubu
Version: 0.0.0
File: bubu-0.0.0.gem

$ gem install bubu-0.0.0.gem

Successfully installed bubu-0.0.0
Parsing documentation for bubu-0.0.0
Installing ri documentation for bubu-0.0.0
Done installing documentation for bubu after 0 seconds
1 gem installed

ビルドしたら、irbで使ってみる

$ irb
reirb(main):001:0> require 'bubu'
=> true
irb(main):002:0> Bubu.say_hi
Hello to Gem!
=> nil

5. RubyGemsに共有してみる

rubygemsサイトのアカウントがまだ持っていない方、まず登録しないといけないんです。

新規アカウントを作成 https://rubygems.org/sign_up

gemRubyGemsに登録して共有してみます

$ gem push bubu-0.0.0.gem

Enter your RubyGems.org credentials.
Do not have an account yet? Create one at https://rubygems.org/sign_up
   Email:   xxx
Password:   xxx

Signed in.
Pushing gem to https://rubygems.org...
Successfully registered gem: bubu (0.0.0)

募集中...


参考:http://guides.rubygems.org/make-your-own-gem/

外国人で日本語はそんなに正しくないですね。〜_〜 誰か直してくれば嬉しです。(;´∀`)

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2