Gist Ubiquitifierは、 Ubiquityコマンドを配布するためのサーバが無くても、 気軽にUbiquityコマンドを配布できるようにするためのサービスです。

このたび、拡張パラメータを指定することによって、 コマンドのインストールページをカスタマイズできるようになりました。

例えば、以下のように、QueryStringにパラメータを指定します。

http://ubiquity.s21g.com/7630?name=s21g-blog-search&Author=Genki+Takiuchi&Home+Page=http://blog.s21g.com/genki

name以外のパラメータは、インストールページ上で 表示されるだけで、実際のインストールの動作には影響しません。

posted by Png genki on Sun 7 Sep 2008 at 07:58

Capistranoを使って、デプロイ時に必要なGemをインストールさせる方法を紹介します。

Rails-2.1以降、config/environment.rbで、config.gemを指定することによって、アプリケーションが依存するGemを簡単に指定することができるようになりました。 また、ここで指定したGemは、

   1  % sudo rake gems:install

とするだけで、インストールすることができます。

しかし、今のところ、capistranoでデプロイするときに この設定を考慮して自動的に足りないGemをインストールしてくれたりすることはないので、ちょっと残念な感じでした。

そこで、cap deployを実行した時に、必要なGemをサーバ上でインストールさせるためのレシピを紹介します。

config/deploy.rb

   1  namespace :deploy do
   2    task :restart, :roles => :app do
   3      sudo "rake -f #{current_path}/Rakefile gems:install"
   4    end
   5  end

上記のように、deploy:restartのタスクで、Rakeコマンドを実行させるだけです。 簡単ですね。

posted by Png genki on Sun 7 Sep 2008 at 06:43

s21g blog の次はFormula

今度はtridentを実行した結果、以下のようなWARNINGが出ました。

DEPRECATION WARNING: Inflector is deprecated! Use ActiveSupport::Inflector instead. See http://www.rubyonrails.org/deprecation for details. (called from formula/config/initializers/inflections.rb:5)

なるほど。とりあえず、いわれたとおりに修正してみます。 Globalの名前空間を掃除する方向なのかな。

とりあえず、それ以外は特に問題なく移行完了。

posted by Png genki on Sun 7 Sep 2008 at 03:34

s21gブログを動かしているEC2インスタンスのRailsを 2.1.1にバージョンアップしました。

Rails 2.1.1: Lots of bug fixes

Rails 2.1.1 is another maintenance release that includes a bunch of bug fixes and a fix for the REXML vulnerability. I’ve extracted all the changes from the CHANGELOGs into a single Gist. Enjoy!

以下、バージョンアップに関する作業ログです。 まずは trident を立ち上げると以下のようなWARNINGが。

DEPRECATION WARNING: Dependencies is deprecated! Use ActiveSupport::Dependencies instead. See http://www.rubyonrails.org/deprecation for details. (called from evaluate_init_rb at blog/vendor/plugins/background_fu/init.rb:1)

とりあえず最新版のBackgroundFu をあたってみます。 いつの間にかGemPluginになってる。よしよし。

config/environment.rbに以下を追記。

   1    config.gem 'ncr-background_fu',
   2      :lib => 'background_fu',
   3      :source => 'http://gems.github.com'

そして

   1  % sudo rake gems:install

そして不要になったプラグインを削除。

   1  % ./script/plugin remove background_fu
   2  svn: '/home/takiuchi/blog/vendor/plugins' is not a working copy

おっと。script/plugin removeはまだGitには対応してないのかな? しかし警告メッセージは出ましたが、当該ディレクトリはきちんと削除されていた模様。 もう一度tridentを立ち上げるが、また同様の警告が出た。 ということで、background_fuを forkすることにした

config/environment.rbを書き直す。

   1    config.gem 'genki-background_fu',
   2      :lib => 'background_fu',
   3      :source => 'http://gems.github.com'

これで警告は出なくなった。 rake -Tは特に問題なく実行できる。 rake testを実行。

DEPRECATION WARNING: follow_redirect is deprecated and will be removed from Rails 2.2 (If you wish to follow redirects, you should use integration tests) See http://www.rubyonrails.org/deprecation for details. (called from test_cleaning_up_blank_page at ./test/functional/articles_controller_test.rb:305)

とのこと。follow_redirectを使いたい場合は インテグレーションテストを使ってね、ということらしい。 いわれてみればその通りですね。 これを機にIntegrationTest周りのサポートが充実すると嬉しい。

とりあえず、該当箇所をIntegrationTestに切り出すことに。 その前にscript/generateコマンドがUpdateされてる可能性があったので、 rake rails:updateを実行してみたが、config/boot.rbが数行変わっただけであった。どうやらRubyGemsの最低要求バージョンが1.1.1以降となった模様。

IntegrationTestでは、follow_redirectではなく、follow_redirect! を使う必要があった。 と、ここまででテストでのWARNINGもすべて解消。

あとはローカル環境で動作テストをした後に、 cap shellで必要なGemをインストールしてcap deploy

WARNINGを消すためにひと手間かかりましたが、 基本的には特に大きな修正も必要なくアップグレードできました。

posted by Png genki on Sun 7 Sep 2008 at 01:58
Contents
Gist Ubiquitifierのインストールページのカスタマイズ性が向上しました
デプロイ時に必要なGemをインストールさせる方法
FormulaをRails-2.1.1対応にしたメモ
Rails-2.1.1にアップデートしました
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
瀧内元気: おお、チェックしてみます。thx! '11-12
overisland: Reeder for iPhone もこの UI を実装していますね。 '11-12
瀧内元気: その情報は見たのですが、以下のサイトによると、現在はまた必要になってるっぽいんですよね。 ... '11-12
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ