今更ながらですが、gemの作り方

今更ですが、gemの作り方をちょっとメモっておきます。今回はmultidbっていうプラグインを作成するとします。
※この名前のプラグイン自体既にありますが・・・。

1.bundleを使ってひな形を作成

$ bundle gem multidb

2.続いて~.gemspecを編集。今回はactive_recordに依存があると仮定して一番下に1行追加しました。

 coding: utf-8
lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'multidb/version'

Gem::Specification.new do |spec|
  spec.name          = "multidb"
  spec.version       = Multidb::VERSION
  spec.authors       = ["nakamura shinichirou"]
  spec.email         = ["naka5313@gmail.com"]
  spec.summary       = %q{DBのマスター・スレーブの切り替えを簡単にできるようにするプラグイン.}
  spec.description   = %q{DBのマスター・スレーブの切り替えを簡単にできるようにするプラグイン.}
  spec.homepage      = ""
  spec.license       = "MIT"

  spec.files         = `git ls-files`.split($/)
  spec.executables   = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
  spec.test_files    = spec.files.grep(%r{^(test|spec|features)/})
  spec.require_paths = ["lib"]

  spec.add_development_dependency "bundler", "~> 1.5"
  spec.add_development_dependency "rake" , " ~> 10.1"
  spec.add_development_dependency "active_record", "~> 4.0"
end

ではここまでで設定に間違いがないか確認してみましょ


gem build multidb.gemspec

WARNING: no homepage specified
WARNING: description and summary are identical
WARNING: See http://guides.rubygems.org/specification-reference/ for help
Successfully built RubyGem
Name: multidb
Version: 0.0.1
File: multidb-0.0.1.gem

こんな感じで特にエラーが表示されてなければ、ひとまずOKです。