サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPad Air
railspress.matake.jp
For Yahoo! OAuth, you need to handle OAuth Session Extension. It is much harder than normal OAuth 1.0, normal one is enough hard though :( I've talked with pelle, OAuth Gem developer and the guy who named Yahoo!'s OAuth "YAuth", about handling Yahoo! specific extension in OAuth Gem, and reached a conclusion not to do so. Instead to support YAuth, I overwrote some OAuth gem classes. First, you nee
いままでActionMailerでSMTP/SendMailを使う場合は、「ヽ( ・∀・)ノくまくまー」さんのActionMailer::Base.server_settingsの書き方を参考にしていたのですが、Rails2.0になってからはserver_settingsというメソッドが廃止されたようです。 代わりに以下のように、smtp_settings or sendmail_settingsを使います。 例)SMTP Settings
version 0.4.0 - version 0.1.1 までの更新履歴はこちら。 iKnow! gem version 0.1.1 - 京の路 iKnow! gem version up - OAuth & Basic認証 - 京の路 version 0.2.2 となり、ようやくこちらのブログでも発表できるレベルになりました。version 0.2.2 では、OAuth / Basic 認証のサポート、すべての要認証 API Call のサポートが追加されています。 OAuth / Basic 認証は同じインタフェースで使えます。Iknow::Auth に username と password を指定すれば Basic 認証、token と secret を指定すれば OAuth を使います。 PLAIN TEXT LANG : RUBY iknow_auth = case au
ruby-oauth で Yahoo! OAuth を使おうとしてだいぶはまったので、対応方法をメモ。 まずは oauth_parameter のうち、値が空のものは送らないようにしないと行けないようです。これは Yahoo! 側の問題かな?この問題を解決するには、OAuth::Client::Helper をオーバーライドします。 PLAIN TEXT LANG : RUBY # Yahoo! Hacks (for OAuth2.1) class OAuth::Client::Helper def oauth_parameters { 'oauth_consumer_key' => options[:consumer].key, 'oauth_token' => options[:token] ? options[:token].token : '', 'o
昨日 OpenID Foundation Japan で NRI の崎村さんに「iKnow! の OpenID は XRI をサポートしてないですね」ってなことを言われたらしいので、iKnow! の OpenID を XRI に対応させました。 OpenID Authentication Plugin の XRI 対応は RailsのOpenID Authentication PluginをXRI対応にする方法 に書きましたが、OpenID::Yadis::XRI.identifier_scheme というメソッドが既にあったので、今回はそれを使いました。 PLAIN TEXT LANG : RUBY module OpenIdAuthentication # XRI support def self.normalize_url_with_xri(identifier) case Open
iKnow! API gem を GitHub に公開したときのフローをメモしておきます。 GitHub に Signup ログイン後のホーム右サイドーから「Your Repositories (create a new one)」をクリック Project Name / Description / Homepage URL を登録 ヘッダー右側の「account」から SSH 公開鍵を登録 作成したレポジトリに rubygem を push(詳細なやり方はレポジトリトップに載っています) レポジトリのをクリック 「RubyGem」のチェックボックスにチェックする これで10分〜20分くらい待っていれば、GitHub RubyGems List のページに登録した gem が掲載されるはずです。GitHub が勝手に gem を build してくれるので、Developer がやるの
Functional Test ですべての @response.body と @response.headers の内容をチェックしたくて、リクエスト発行時に after_filter 的なことをしたので、方法をメモ。 以下の記事が非常に参考になりました。 functional test をめぐる冒険 - Rails で行こう! やってることは、単純に get とか post とかの内部で呼ばれてる process というメソッドを、RAILS_ROOT/test/test_helper 内で書き換えているだけ。 PLAIN TEXT LANG : RUBY def process_with_assert_no_wapi(action, parameters = nil, session = nil, flash = nil) process_without_assert_no_wapi(
前のエントリーでご紹介した iKnow! API 用の rubygem の使い方について。 Install iKnow! gem レポジトリはこちら ⇒ nov-iknow@github インストールは github を gem のソースに追加して(既に追加した人はもう追加しないように) PLAIN TEXT LANG : shell etc. sudo gem source -a http://gems.github.com 普通に gem install PLAIN TEXT LANG : shell etc. sudo gem install nov-iknow これで、iKnow! API 経由のアクセスを、通常のモデルと同じ感じで使えるようになります。 サンプルアプリの紹介 既にレポジトリの examples の中に、pure-ruby 版と rails 版のサンプルアプリを
こちらのブログでは遅ればせながら、先月末でドリコムを退職し、今月からiKnow! (Cerego Japan) で働いています。 iKnow! でも開発マシンは MacBook のままですが、開発用サーバマシンとして ubuntu を支給されたので、ubuntu から MacBook の開発ディレクトリをマウントして、DB やら mongrel やらは ubuntu 上で動かしています。 ubuntu には(てか apt には?)Mumbles という Mac の Growl に似た notification ツールがあって、そいつから LAN 上の Growl に notification を送れます。 PLAIN TEXT LANG : shell etc. ~/.autotest に、以下のように記述しておけば OK PLAIN TEXT LANG : RUBY require '
OpenIDでプロフィール情報を受け取る際のフォーマット(openid.sreg.*) OpenID.ne.jpなどでは、ユーザがIdP側で公開設定しているプロフィール情報を、サービス側が取得することができます。その時にプロフィール項目のフォーマットが決まっているようなので、メモしておきます。 なお、これらの情報を取得できるかどうかは、ユーザがプロフィールを登録しているかどうかと、ユーザがそれぞれの項目を公開する設定にしているかどうかに依存します。 openid.sreg.nickname:
最近RailsのOpenIdAuthentication Pluginに挑戦しています。 open_id_authenticationプラグインの導入はこちらを参考にしました。 open_id_authentication*[認証][Rails] open_id_authenticationをつかってみる - KazusaAPI開発日誌 - KDRIグループ koress.jp: 解消法: open_id_authenticationプラグイン(rails 2.0.2) サンプルを動かしてみてOpenID Profider(IdP)からリダイレクトされてくるところまではスムーズに行ったのですが、その後のレスポンスを解析する部分で、このプラグインに添付してあるサンプルソースに潜んだバグ(?)にはまりました。 具体的にハマったのは、サンプルソース内の以下の部分で使われているcase .. wh
Rails 2.1系ではいくつか新機能が加わっていますが、「Partial Updates」もその一つです。 「Partial Updates」では、「Dirty tracking(Dirty Object)」というActiveRecordのモデルのattributesが変更されたかどうかをチェックする機能を使って、「変更された値のみをSQLに含める」ことを実現しています。 つまり、以下のようなコードを書いていても、実際に@personに変更が無ければ更新しないし、変更があった時でも変更点のみをSQLにしてくれるのです。 すばらしい!! PLAIN TEXT LANG : RUBY def edit @person = params[:person] @person.save! end ところで、こいつは普通に使ってる分には本当に便利なのですが、どうも acts_as_bits と一緒に
通常RailsアプリからMeCabを利用するには、MeCab側でUTF-8の辞書を選択すると思います。 しかしHyperEstraierとMeCabを連携させる為には、MeCab辞書がEUC-JPエンコーディングである必要があります。 そこで、RailsアプリからEUC-JP環境のMeCabを使う為に、以下のようなフィルタを定義しました。
Railsの単一テーブル継承 (Single Table Inheritance) を使うと、ActiveRecordではtypeカラムがnilでないオブジェクトのクラスはtypeを元に判定されます。 単一テーブル継承 (Single Table Inheritance) を使うには、テーブル定義時にtypeというカラムを定義します。 PLAIN TEXT LANG : RUBY class CreatePeople <ActiveRecord::Migration def self.up create_table :people do |t| t.column :name, :string : t.column :type, :string end end def self.down drop_table :people end end ここでpeopleテーブルに対応したPerson
Railsコアチームが開発しているOpenID Authentication PluginがOpenID 2.0に対応しました。(これで以前のようにPatchを当てる必要もなくなる♪) ただ、まだOpenId Authentication PluginはXRIでのログインには対応していないようなので、OpenID Authentication PluginをXRIに対応させてみました。 Gemで入るruby-openid 2.0.4は、軽くソースを眺めた感じではXRIにも対応しているようなので、OpenId Authentication Pluginのconsumer.beginにXRIを渡してやればいけるはず!ということで、変更点はnormalize_urlメソッドのみ。 RAILS_ROOT/vendor/plugins/openid_authentication/lib/openid
MacOSX 10.4 (Tiger) にPassenger (mod_rails for Apache) をインストール 「MOONGIFT: » チェック必須!Rails新時代の到来か?「Passenger(mod_rails for Apache)」:オープンソースを毎日紹介」に紹介されてたPassengerを、さっそくMacOSXにインストールしてみたので、インストール方法をメモしておきます。 MacOSXデフォルトのApacheではapacheモジュールのインストール時に失敗するので、MacPortsでApache2をインストールします。 MacPortsを最新版にアップデート 古いバージョンのMacPortsでは、Apache2のインストールの途中で、apr 1.2のインストールに失敗します。MacPortsを最新版にアップデートすると、この問題は解決できます。
これが一番いろいろ分かって便利です。 gem environmentの実行結果はこんな感じ。 RubyGems Environment: - RUBYGEMS VERSION: 1.0.1 (1.0.1) - RUBY VERSION: 1.8.6 (2007-12-09 patchlevel 5000) [i686-darwin8.11.1] - INSTALLATION DIRECTORY: /usr/local/ruby/lib/ruby/gems/1.8 - RUBY EXECUTABLE: /usr/local/ruby/bin/ruby - RUBYGEMS PLATFORMS: - ruby - x86-darwin-8 - GEM PATHS: - /usr/local/ruby/lib/ruby/gems/1.8 - GEM CONFIGURATION: - :upda
例えばRails Pluginを拡張する場合は、RAILS_ROOT/libにplugin拡張ライブラリ用のディレクトリを用意します。 lib/plugins.rb lib/plugins/ext.rb lib/plugins/ext/ AcsAsSearchableを拡張する場合は、lib/plugins/ext以下に以下のようにActsAsSearchableプラグインの構成と同じようにファイルを配置。 lib/plugins/ext/acts_as_searchable.rb lib/plugins/ext/acts_as_searchable/ lib/plugins/ext/acts_as_searchable/acts_as_searchable.rb lib/plugins/ext/acts_as_searchable/lib/estraierpure.rb 各ファイルの中身
HyperEstraierをMacにインストールする方法については「Mac OS X に Hyper Estraier をインストールする - METAREAL」に詳しい説明が載っています。 しかしMETAREALで紹介されている方法では、HyperEstraierはN-gram方式でしかインデックスしてくれません。HyperEstraierにN-gramと形態素解析を併用させるには、以下のようにMeCabとの連携を行うように設定する必要があります。 以下、MeCabとHyperEstraierのインストールから、HyperEstraierの動作確認までをまとめておきます。 MeCabのインストール MeCab本体のインストール http://mecab.sourceforge.net/より mecab-0.97.tar.gz をダウンロードします。
MacBookでautotest環境を整備する(Test::Unit編)- ZenTest / redgreen / Growl 「Railsのテスト環境を改めて- MacOSX / RSpec / ZenTest / Growl」を参考に、MacBookでautotest環境を整えてみました。 上記のサイトではRSpecでのテストを前提に書かれていますが、僕はとりあえずTest::Unitを使ってのautotest環境が欲しかったので、若干~/.autotestの記述内容だけ上記サイトの手法からアレンジしてあります。以下自分用のメモ。 Growlのインストール 2008年3月5日現在、Growlのサイトが落ちているようなので、代わりにGrowl DownloadからGrowlをダウンロード。Growlのインストールは「Growl.mpkg」をダブルクリックするだけ。ここでgrowlnot
「Railsのテスト環境を改めて- MacOSX / RSpec / ZenTest / Growl」を参考に、MacBookでautotest環境を整えてみました。 上記のサイトではRSpecでのテストを前提に書かれていますが、僕はとりあえずTest::Unitを使ってのautotest環境が欲しかったので、若干~/.autotestの記述内容だけ上記サイトの手法からアレンジしてあります。以下自分用のメモ。 Growlのインストール 2008年3月5日現在、Growlのサイトが落ちているようなので、代わりにGrowl DownloadからGrowlをダウンロード。Growlのインストールは「Growl.mpkg」をダブルクリックするだけ。ここでgrowlnotifyも一緒にインストール。
JpAddressに、いくつか機能を追加して、バージョン0.2.0としてリリースしました。 追加した機能は以下の通りです。 geocodeメソッド 緯度経度情報を取得します。 「The Star of Web2.0: 郵便番号から位置(経度と緯度)を取得するウェブサービスを作ってみた」で公開されているAPIを利用しています。 使い方は以下の通りです。
(追記)RDocでドキュメントを生成しました。 最新の使用例はこちらを参考にしてください。 http://matake.jp/jpaddress/ 前回のエントリーで「日本全国の郵便番号&住所データDBを作る方法」について書きましたが、それをRailsプラグイン化したものをRubyforgeで公開しました。 RubyForge: JpAddress: Project Info プラグインのインストールは、RAILS_ROOTで以下のコマンドを実行してください。
「郵便番号データダウンロード - 日本郵便」でオープンソースとして配布されている「郵便番号&住所データ」(CSVファイル:全国版は12万行で12MB)を使えば、誰でも簡単に日本全国の郵便番号&住所DBを作れます。 RailsでDBにデータを入れるなら、ActiveRecord::Extentions使って一気にDBに入れてやればいいだけです。(CSVファイルはSHIFT_JISなので、DBに入れる際にデータをUTF-8に変換するのを忘れずに!) データをCSVからDBに取り組む為のコードはこんな感じ。
OpenID.ne.jpなどでは、ユーザがIdP側で公開設定しているプロフィール情報を、サービス側が取得することができます。その時にプロフィール項目のフォーマットが決まっているようなので、メモしておきます。 なお、これらの情報を取得できるかどうかは、ユーザがプロフィールを登録しているかどうかと、ユーザがそれぞれの項目を公開する設定にしているかどうかに依存します。 openid.sreg.nickname:
ちょっと前に、Ruby on Railsが動かせるレンタルサーバを探してたことがあったので、ここにそのとき調べた「Railsが使えるレンタルサーバ」をメモしときます。 僕が探してたのは、ちょっとビジネスよりでサポートがしっかりしてるところで、かつ値段はそこまで高くないところだったので、やっぱりVPSが多かったです。 VPSでもサポート体制とか価格がピンキリなので、よく比較検討してから決めないと後で後悔しそうですね。 そういう意味では、無料試用ができるサービスが嬉しいです。 ちなみにこのエントリーは徐々に紹介するサービスが増えて行くかもしれません。 使えるねっと Ruby on Railsをはじめ、各種インストール代行サービスも扱っている使えるねっと。 レンタルサーバが月200円〜で、VPSも扱っています。ここは安いので個人ユーザ向けかと思います。 CentOS 4。 交渉すると、こ
Rails 2.0でscaffoldすると、デフォルトでform_forを使ってformを生成します。 例えば以下のようにuserのModel/Controller/Viewをscaffoldで生成した場合、app/views/users/以下にその下に示したようなnew.html.erbとedit.html.erbが生成されます。 script/generate scaffoldを実行。
次のページ
このページを最初にブックマークしてみませんか?
『RAILS PRESS » RUBY on RAILS, it’s DRY and COOL !!』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く