Heroku経由でSinatraを使ってみているのですが、ModelとしてSequelを使ってみることにしました。

Userクラスを作る

DBをオンメモリにしておいて、テーブル作成・クラスの宣言

   1  % irb
   2  require 'rubygems'
   3  require 'sequel'
   4  
   5  DB = Sequel.sqlite
   6  DB << "CREATE TABLE users (id INTEGER PRIMARY KEY, name VARCHAR(255) not NULL)"           
   7   
   8  class  User < Sequel::Model
   9  end

これから、User.なんとかでデータの作成などできます。

   1  User.create(:name => 'satoko')
   2  
   3  User.find(:name => 'satoko')
   4  User.find(:id => 1).update(:name => 'satoko')
   5  User.find(:id => 1).delete
   6  User.first
   7  
   8  User.all
   9  => [#<User @values={:name=>"satoko", :id=>1}>]
  10  
  11  DB[:users].filter(:name => 'satoko').sql
  12  => "SELECT * FROM `users` WHERE (`name` = 'satoko')"

findは1件操作なので、複数件の場合はfilterで行う

   1  User.filter("id > ?", 0).limit(10).each {|u| p[:name]}
   2  => #<Sequel::SQLite::Dataset: "SELECT * FROM `users` WHERE (id > 0)">

また、@orepuriさんに教えてもらったのですが、all、first、eachなどがあって初めてSQLが発行されるそうで、なかなか面白いです

References

Sequel概要(2年前の資料なので、コード的には古いかもしれません)
http://www.slideshare.net/zhesto/ruby-off-rails-japanese

チートシート
http://sequel.rubyforge.org/rdoc/files/doc/cheat_sheet_rdoc.html
http://cheat.errtheblog.com/s/sequel/

Classリファレンス:ModelやDatasetなど
http://sequel.rubyforge.org/documentation.html

posted by Png satoko on Wed 16 Sep 2009 at 21:29

「今日の日付」のような動的な値が必要な場合には "javascript{}" を利用する。 同ブロック内部の文字列は実行時に javascript コードとして評価され、 その評価結果が値として利用される。

例:いずれもabcが入力される
コマンド対象
typeval1abc
typeval1javascript{ "abc" }
typeval1javascript{ "ABC".toLowerCase() }

例:今日の日付を入力
コマンド対象
typedatejavascript{ var d=new Date(); d.getFullYear()+"/"+ ... }

posted by Png maiha on Wed 16 Sep 2009 at 19:03
click         ボタンやリンクをクリックする
clickAndWait  クリック後にページ遷移を待つ

例:ログイン(失敗)
コマンド対象
typeusermaiha
typepassxxxxx
clicklogin
verifyTextPresentようこそmaihaさん#ページ遷移が終わってないので失敗する

click を clickAndWait に変更すると成功する

posted by Png maiha on Wed 16 Sep 2009 at 06:46

数字だけのタグだとうまくcoが出来なかった覚えがあるので、renameしました。あと、commitハッシュはフルでなくても、最初の5桁くらいで大丈夫だと思います。

タグで使っているcommitハッシュを取得

   1  % git rev-parse 1.1
   2  97f4c33e9a35255b8f8506ffa90ab70605ccf74f

タグのつけ直し

先程入手したcommitハッシュを使って

   1  git tag -a -f v1.1 97f4c33e9a35255b8f8506ffa90ab70605ccf74f

完了と思ったら、つけ直しではなく同じcommitハッシュに別のタグをつけるようになっていまようです。なので、不要なタグを削除します

タグの削除

   1  % git tag -d 1.1
   2  Deleted tag '1.1'

posted by Png satoko on Wed 16 Sep 2009 at 04:30
Contents
[ruby] Sequelについてメモ
Selenium IDE で動的な値
Selenium IDE でクリック
[git] タグのrename: git rev-parse, git tag -a -f
Comments
瀧内元気: MacOS版は以下にあります * [genki/ViMouse](https://githu... '23-1
KingofSmack: Here also good reads for this mobile applicatio... '14-5
Spencer: You don't have to re-compile it, this version w... '14-4
staiano: Any chance we can get a recompile for 10.9? '14-1
dsjf: https://gist.github.com/6bf1bf2c3cbb5eb6e7a7 これ... '13-1
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ