LAPISLAZULI HILL#Ruby このページをアンテナに追加 RSSフィード

2007-11-21

[]rubyamazon 16:21 rubyでamazon - LAPISLAZULI HILL#Ruby を含むブックマーク はてなブックマーク - rubyでamazon - LAPISLAZULI HILL#Ruby rubyでamazon - LAPISLAZULI HILL#Ruby のブックマークコメント

RAAとgems両方で探してみる

gems

http://rubyforge.org/amazon検索すると,いろいろ出てくる.ほとんどが更新が止まっている.名前もまちまちで混沌としている

amazon-ecsというのがあったので使ってみた.これはいちいちgetでitem.get('asin')のような感じでデータを取り出さないといけなくて面倒.テンプレートなどからも直接使いにくい.get_hashというメソッドもあるがそれも面倒

http://www.pluitsolutions.com/projects/amazon-ecs

RAA

http://raa.ruby-lang.org/で探すとそれっぽいのは1つだけ出てくるのがruby-amazon.こちらはitem.asinというように取り出せて直感的.yumでインストールできたし

http://raa.ruby-lang.org/project/ruby-amazon/

自分の中の結論

すべてを見ているわけではないけどモジュールとしてはruby-amazonが良いと思う

追記

これもシンプルでいいかもしれない

http://rubyforge.org/projects/recs4/

[]RAAとgems 11:33 RAAとgems - LAPISLAZULI HILL#Ruby を含むブックマーク はてなブックマーク - RAAとgems - LAPISLAZULI HILL#Ruby RAAとgems - LAPISLAZULI HILL#Ruby のブックマークコメント

gemsとどっちかに統一あるいはgemからRAAを扱うとかはできないのかな?名前空間が被ることはないのかな?

2007-11-13

[]エラーをブラウザに出力する 15:49 エラーをブラウザに出力する - LAPISLAZULI HILL#Ruby を含むブックマーク はてなブックマーク - エラーをブラウザに出力する - LAPISLAZULI HILL#Ruby エラーをブラウザに出力する - LAPISLAZULI HILL#Ruby のブックマークコメント

perlでのuse CGI::Carp qw(fatalsToBrowser)みたいなの

ふつうにモジュールみたいのはないのかな.調べてみよう

[]汚染されたオブジェクト 15:47 汚染されたオブジェクト - LAPISLAZULI HILL#Ruby を含むブックマーク はてなブックマーク - 汚染されたオブジェクト - LAPISLAZULI HILL#Ruby 汚染されたオブジェクト - LAPISLAZULI HILL#Ruby のブックマークコメント

同僚がmod_rubyでDir.pwdをそのまま使ったCGIを使おうとして,エラーが出ていました.その原因はこれ

これは$SAFE=1で実現しているということなのでRubyのリファレンスをみる

tainted object,汚染されたオブジェクト

2007-10-30

[]Ruby-GetText 17:41 Ruby-GetText - LAPISLAZULI HILL#Ruby を含むブックマーク はてなブックマーク - Ruby-GetText - LAPISLAZULI HILL#Ruby Ruby-GetText - LAPISLAZULI HILL#Ruby のブックマークコメント

日本語化に使おうと思ったら,gemでエラー

% sudo gem install gettext
ruby extconf.rb install gettext
can't find header files for ruby.

rubyのソースがいるようだ

% sudo yum install ruby-devel
# ...
% sudo gem install gettext
# ...
Building native extensions.  This could take a while...
Successfully installed gettext-1.9.0

成功

2007-10-25

[]例外 16:45 例外 - LAPISLAZULI HILL#Ruby を含むブックマーク はてなブックマーク - 例外 - LAPISLAZULI HILL#Ruby 例外 - LAPISLAZULI HILL#Ruby のブックマークコメント

rescue.レスキュー

  • 修飾子 直前の式で例外が発生時にキャッチ
  • begin begin節で例外発生時にキャッチ
  • def メソッドで例外発生時にキャッチ

begin

do_something

rescue

recover

ensure

must_to_do

end

no title

rescue
  • rescue節は複数指定可能
  • 引数に例外クラスを指定すると,その例外クラスとサブクラスだけを補足
  • 引数なしだとStandardErrorが指定されたことになる
  • 発生した例外は $! を使って参照することができます。また、指定されていれば変数 evar にも $! と同様に発生した例外が格納されます。
    • rescue HogeError => err
      • これでerrに格納,これを使わない場合は$!に格納される
    • rescue => err

raise

  • 例外を投げるのはraise

[]メソッドの種類 14:18 メソッドの種類 - LAPISLAZULI HILL#Ruby を含むブックマーク はてなブックマーク - メソッドの種類 - LAPISLAZULI HILL#Ruby メソッドの種類 - LAPISLAZULI HILL#Ruby のブックマークコメント

もっとkwsk

Action

呼び出し制限

メソッドは public、private、protected の三通りの呼び出し制限を持ちます。

  • public に設定されたメソッドは制限なしに呼び出せます。
  • private に設定されたメソッドは関数形式でしか呼び出せません。
  • protected に設定されたメソッドは、そのメソッドを持つオブジェクト のメソッド定義式内でなければ呼び出せません。

no title

理解力不足でちゃんと理解できない

protected

おそらく JavaC++ の protected と同じイメージで使ったのだと思いますが、 Ruby の protected は Java, C++ とは意味が違います。 Ruby の protected を使うと、サブクラスインスタンスが「オブジェクトの外から」メソッドを呼べるようになります。つまり、次のような状況です。

Rubyist Magazine - あなたの Ruby コードを添削します 【第 3 回】 dbf.rb

railsではprotectedはどういうときに使うんだろう.使っているソースを見つけたら必要かどうか確認してみよう

ひとまずこう書くことにする.必要があれば修正する

class HogeController < ApplicationController

public
  # actionはここに書く
  def page1
  def page2

private
  # 共通化や構造化で必要なメソッドはここに書く
  def method1
  def method2

2007-10-24

[]ERb 16:14 ERb - LAPISLAZULI HILL#Ruby を含むブックマーク はてなブックマーク - ERb - LAPISLAZULI HILL#Ruby ERb - LAPISLAZULI HILL#Ruby のブックマークコメント

  • .rhtml
  • <% ... %>
    • <%= 表示
    • <%- 行頭空白非表示
    • <%# コメント
    • -%> 改行抑止
  • rhtmlの場所
    • app/views/<:controller>/<:action>.rhtml
  • h メソッド→エスケープ
    • <%=h "hoge" %>
    • 文を与える場合はメソッドの括弧を省略しない
カウンター
43647