タグ

ブックマーク / blog.s21g.com (26)

  • Google SocialGraph APIを利用するGem - Hello, world! - s21g

    早速、RubyGoogleの SocialGraph API を利用するためのライブラリが リリースされたようです。 Ruby gem for Google SocialGraph released We’ve cooked up a Ruby library to talk to the SocialGraph API, and get really interesting info out of it. This is the sort of thing that’s always more useful if more people have access to it, so even better, we’ve licensed it under the LGPL, so you can get all that Google goodness without having to

  • Mockで既存のクラス・モジュールを上書きする方法 - Hello, world! - s21g

    Railsのテストフレームワークには、Mockを利用する仕組みがあります。 しかし、通常の方法でMockクラスを作成すると、オリジナルのクラスを 完全に置き換えてしまうため、すべての実装をテスト用に 書き直さなければならなくなってしまいます。 そこで、テスト用に改変したい場所だけMockで上書きし、その他の 動作はオリジナルに委譲する方法を紹介します。 1  require_dependency 'models/foo' 2 3  class Foo 4  def bar 5  puts 'baz' 6  end 7  end 上記のように、require_dependencyを使ってapp ディレクトリ以下のファイルを参照することで、Fooクラスのbar メソッドの挙動だけを置き換えることができるようになります。

  • それをinjectでやる方法 - Hello, world! - s21g

    [Ruby] [:name, :yomi] から {:name=>"maiha", :yomi=>"maiha"} を作りたい 最初に思いついたのは、inject array = [:name, :yomi] array.inject({}){|h,i| h[i] = "maiha"; h} => {:name=>"maiha", :yomi=>"maiha"} "; h" が冗長で悔しいのよね。 injectでもこんな感じに書けばシンプルにできますよ。 1  >> [:name, :yomi].inject({}){|h,k| h.merge(k => "maiha")} 2  => {:name=>"maiha", :yomi=>"maiha"}

    japanrock
    japanrock 2008/01/27
  • RubyでBase64URLを使う方法のメモ - Hello, world! - s21g

    RubyでバイナリデータをBase64エンコードする場合、 require 'base64'をしてからBase64.encode64(binary)をするか、 以下のようにpackのmテンプレートを使うことができます。 しかし、アップロードしたファイル用のテンポラリなファイル名 などに使用する場合、Base64でエンコードした文字列は ファイル名に使えない(可能性が高い)文字を含んでいるため、 そのような場合にはbase64url形式でエンコードします。 base64url って何? base64url とは、base64 を基に RFC4648 で規定された変換方式で、url とファイル名に使用しても安全になるように設計されています。変更点は、base64 では + と / が使用されていますが、それを - と _ を使用するようにします。具体的には、base64では「ABCDEFGHI

    japanrock
    japanrock 2008/01/25
  • irbでメソッド一覧を探す方法のTips - Hello, world! - s21g

    irbを使っているときに、オブジェクトにどんなメソッドが 定義されているのかをpublic_methodsなどで調べることが 出来ますが、たいていの場合大量のメソッドがリストアップされて わかりにくくなってしまいます。 今回は、そんなときに良くやる方法を紹介します。 1  >> Time.public_methods.sort - Object.public_methods 2  => ["_load", "at", "days_in_month", "gm", "httpdate", "iso8601", "local", "local_time", "mktime", "now", "parse", "rfc2822", "rfc822", "time_with_datetime_fallback", "times", "today", "utc", "utc_time", "xmls

    japanrock
    japanrock 2008/01/21
  • Rails 2.0でデバッグをする新しいやり方 - Hello, world! - s21g

    比嘉さんからciteされたみたいなので、取り急ぎ新しい情報を吐き出しておこうと思います。 そろろろRailsについて音を書いてみるか 後、デバッグの環境は、Javaに比べて貧弱だと思う。Railsでデバッグをする7つの方法を見てほしい。IDEでソースにブレークポイントを設定(ソースコードを書き換えるのではなく)して、ステップイン、ステップオーバー、メモリの状態を見たりなんてのに慣れているJavaから比べると、すっごく大変に見える。 喜ばしいことに、Rails 2.0ではruby-debugを使ったdebuggerが正式に採用されました。 これの使い方は非常に簡単です。 まずは、以下のようにブレークポイントをコード中に書き込みます。

    japanrock
    japanrock 2008/01/14