59
60

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

rails pluginコマンドで簡単に出来るgemの作成方法。

Last updated at Posted at 2012-12-25

gemを作成する際、rails pluginコマンドを使用していますが、余り使われていない、記事にされていない印象を受けたので記事を書きました。

Rails Engine, rails pluginコマンドについて詳細はこちらです。
http://d.hatena.ne.jp/passingloop/20110801/p1

上記の記事にはRails Engineの作成する方法にrails pluginコマンドが書いてあります。
(実際にはrails plugin new gem_name --mountable)
その際一緒にGemfileも作成されるので、gem pushするだけで実は簡単にgemの登録が出来てしまいます。

##実際にやってみる

今日githubのexploreにあったdaneden/amimate.cssをGemfileに1行追加して簡単に利用出来るgemを作成し、Rubygems.orgにpushしてみます。
(https://github.com/daneden/animate.css)

###Rails Engineの作成

まずrails pluginコマンド

rails plugin new animate-rails --mountable

作成されたディレクトリ内に先のcssを入れる

mkdir -p vendor/assets/stylesheets/animate
cd vendor/assets/stylesheets/animate
wget https://raw.github.com/daneden/animate.css/master/animate.min.css
mv animate.min.css index.css

animate-rails.gemspecの編集

$:.push File.expand_path("../lib", __FILE__)

# Maintain your gem's version:
require "animate-rails/version"

# Describe your gem and declare its dependencies:
Gem::Specification.new do |s|
  s.name        = "animate-rails"
  s.version     = AnimateRails::VERSION
  s.authors     = ["Masahiro Saito"]
  s.email       = ["camelmasa@gmail.com"]
  s.homepage    = "https://github.com/camelmasa/animate-rails"
  s.summary     = "animate.css for rails"
  s.description = "animate.css for rails"
                          
  s.files = Dir["{lib, vendor}/**/*"] + ["MIT-LICENSE", "Rakefile", "README.rdoc"]
  s.test_files = Dir["test/**/*"]
                      
  s.add_dependency "rails", "~> 3.2.9"
  # s.add_dependency "jquery-rails"
                          
  # s.add_development_dependency "sqlite3"
end

”TODO”という文言が入っている箇所を編集し、s.filesにvendorを追加します。

これでgemの完成です。
実際にRailsで読み込んでanimate.cssが動くか試してみます。

###サンプルプロジェクトの作成

プロジェクトの作成

rails new animate-rails-sample

Gemfileに追加

gem 'animate-rails', path:"../animate-rails"

app/assets/stylesheets/application.cssに1行追加

*= require animate

サーバーの立ち上げ

rails s

ブラウザからhttp://localhost:3000/assets/animate/index.css?body=1にアクセス

Hatena

animate.cssが表示されるのが確認できました。

###Rubygems.orgに登録する

次にRubygemsに登録します。
animate-railsのディレクトリに移動。

下記コマンドを実行

gem build animate-rails.gemspec

WARNING:  description and summary are identical
  Successfully built RubyGem
  Name: animate-rails
  Version: 0.0.1
  File: animate-rails-0.0.1.gem

WARNINGはdescriptionとsummaryが一緒の場合に表示されます。

最後にRubygems.orgに登録。

gem push animate-rails-0.0.1.gem

https://rubygems.org/gems/animate-rails
Hatena

無事登録出来ました。

###まとめ
rails pluginコマンドで簡単にgemを作成してみました。
後はgithubに登録すると色々指摘が貰えて幸せになれそうですね。

animate-railsディレクトリで

git init
hub create animate-rails
git add .
git ci -m 'first commit'
git push origin master

今回のgemはこちらにあります。
https://github.com/camelmasa/animate-rails

59
60
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
59
60

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?