Railsで使えるGem

Rubyでローカルで使うgemをつくる~bundler

投稿日:

 

bundlerのインストール

gemパッケージ管理用アプリケーションであるbundlerをインストールする

 

bundle gem ファイル名

bundle gem コマンドでgem用のファイルを準備する

 

gemspec

生成されたファイルの中にgem名.gemspecというファイルができている.gemの設計図を書いておく.
TODOとかいう文字を含んでいるとパッケージ化を拒否されるので、書けるところは書いておく.

gemspecのリファレンスはここにある.

依存関係

ほかのgemを使い必要がある場合は依存関係をgemspecに書く

依存関係にはrubtimeとdevelopmentがある.

 

Gemfilesとgemspecとの関係については

langturn.com/translations/33?locale=ja

lib

本体を置くlibディレクトリ以下の構造は次のような感じ

hello.rbファイルが起点となる.version.rbファイルはversionを指定するためのファイル.
versionの仕方はセマンティックバージョニングという規則に従っておくと、みんながわかりやすい.

ファイルを増やす

ファイルはlib/パッケージ名/*に保存する.hello.rbからrequire する.

ただ、bundlerでつくった場合はファイルを作成しただけだと追加されない.gemspecファイルをみればわかるけど、ファイルはgit ls-filesで確認している.

なので、git add . + git commit しておく必要がある.

パッケージ化

gemコマンドのリファレンスはここにある.

インストール

 

使い方

 

 

ここを読もう

Developing a RubyGem using Bundler

簡単にGitHubにリリースするのにgemコマンドを拡張してくれる

github.com/svenfuchs/gem-release

 

gemの作成・登録方法あり

Railsの拡張方法

-Railsで使えるGem
-

執筆者:

関連記事

Ubuntu Server 12.04.1にいま流行のDiscourseをインストールしてみた

By: Wonderlane – CC BY 2.0 目次1 はじめに2 環境3 インストール4 情報 はじめに すでにGitHubのトレンドRepoでスター数がTwitterのFligh …

no image

CarrierWaveのファイルをpublic以外に移す

  参照 How To: Secure Upload 現状でCarrierWaveのファイルがpublicという公開フォルダに置かれるのが気になったので調べてみた 違ってるかもしれないので自 …

no image

Rails3.2でOpenDocumentText(.odt)を作成~serenity

  これも途中経過デス   odtはOpenOffice.orgのwriterなんかの保存形式 serenityはerbライクなodtテンプレートから変数を利用して文書を作成してく …

Rails3.2でhtml5で取得した位置情報をAjaxで住所表示する~geocoder

    HTML5ではブラウザからユーザーのPCの位置情報を取得することができるGeoLocation APIというものがある (もちろんデフォルトではユーザーに確認をする設定にな …

Rails4でのJSONテンプレート~jbuilder+rabl+ruby

By: Wonderlane – CC BY 2.0[/caption] Rails4からJSONも標準でjbuilderを使ってテンプレートから出力できるようになった けど、しっくり来な …