gem化

19 views
Skip to first unread message

komagata

unread,
Oct 19, 2011, 5:01:10 PM10/19/11
to lokka-ja
こんにちは、最近微妙にsinatra派に傾きつつあるkomagataです。

昨日Lokkathonでpluginをgem化してたんですが、plugin単体でテストも簡単に書けるし良い感じだったので
lokka本体もsinatraの様にgem化したいなと思ってgemというブランチを作って作業しています。

どういう感じかというのは下記のsample-lokkaというリポジトリを見ていただけるとわかるんですが、

「komagata/sample-lokka - GitHub」 https://github.com/komagata/sample-lokka

$ git clone git://github.com/komagata/sample-lokka.git
$ cd sample-lokka
$ bundle
$ bundle exec rake setup
$ bundle exec rackup
$ open http://localhost:9292/

こんな感じでlokkaが動いています。

sample-lokkaの内容物は下記です。

$ ls
Gemfile Rakefile config.ru database.yml

Gemfileはこんな感じです。

$ cat Gemfile
source :rubygems
gem 'lokka', :git => "git://github.com/komagata/lokka.git", :branch =>
'gem'

開発中は作業中のフォルダにlokkaをcloneしてきて、

$ bundle exec rackup -Ilokka/lib

という様にできるので「開発が面倒になる」ということは無いと思います。
(上記のやり方は全てsinatraのパクリです。)

最終的にはGemfileにはlokka本体とpluginを列挙するだけにして、
public/theme/ 以下にテーマを置くようにしたいと思っています。

とはいえ、gemブランチはmasterにマージするにはまだまだ作業が必要です。
(gem化したpluginを読み込む処理等)

「こうしたほうがいい」とかご意見ありましたらいただけると嬉しいです。
(あとgemブランチへのcommitとか・・・:-) )

YAGUCHI Yuya

unread,
Oct 19, 2011, 7:26:16 PM10/19/11
to lokk...@googlegroups.com
yayuguです


この改変ってユーザ/デベロッパにどういうメリットがあるのでしょうか


2011年10月20日6:01 komagata <koma...@gmail.com>:

> --
> このメールは Google グループのグループ「lokka-ja」の登録者に送られています。
> このグループに投稿するには、lokk...@googlegroups.com にメールを送信してください。
> このグループから退会するには、lokka-ja+u...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/lokka-ja?hl=ja からこのグループにアクセスしてください。
>
>

Masaki Komagata

unread,
Oct 19, 2011, 11:52:19 PM10/19/11
to lokk...@googlegroups.com
komagataです。

ユーザー:

* 完成すればインストールにgitが要らなくなる。
* gitのheadをcloneしてくるより依存関係などが安定したビルド(gem)を
簡単に入手できる。
* 触る必要の無いファイルを見なくて済む。

デベロッパー:

* リリース/ビルドの管理が楽になる。
* ユーザーが修正するファイルとそうでないファイルを分離できる。
修正の必要が無いファイルをgemにパッケージングすることで
database.example.yml問題等が解決する。
* モジュール化の促進

rails, sinatra, radientがgemになってるのと大体同じ理由だと思います。

Lokka全体で考えると、一番重要なのはプラグイン・テーマのエコシステム
を作ることだと考えています。

それには何らかのパッケージングシステムが必要で、それを独自構築するのは
とても大変なのでrubygemsを使おうという感じです。

実現したいのは、WordPressやJenkinsのように管理画面でプラグインの検索と
インストールができる状態です。(流石にlokkaの再起動は必要になると思いますが)

2011年10月20日8:26 YAGUCHI Yuya <yay...@gmail.com>:

--
----------------------------------------------------------------------------------
 Masaki Komagata <koma...@gmail.com>

 ブログ: http://docs.komagata.org/
 FJORD, LLC: http://fjord.jp/
 CMS for Cloud: http://lokka.org/
 スマホで怖い話: http://kowabana.jp/
----------------------------------------------------------------------------------

Reply all
Reply to author
Forward
0 new messages