Ruby

全裸2012春

おばんです。暑さ寒さも彼岸までと申しますように過ごしやすい季節となりましたが、皆様にはますますご全裸のこととお喜び申し上げます。遂にpure Rubyの形態素解析エンジンがリリースされたという情報を得て、全裸は急げということでさっそく遊ばせていただ…

TDDBC仙台の課題を状況駆動で復習したよ

行ってきましたTDDBC仙台。4時半起きで新幹線が立席というしょっぱなからの試練にかなりやられてしまっていましたが。で、課題が時間内には終わらなかったので最期までやらなきゃね。せっかくなので最後に和田さんがJavaScriptでやってた状況駆動ってのを試…

すごいぞRSpec(attribute of subject即ちits編)

例のごとく既出だけど今回はattribute of subjectについて。rspec-core(2.5.1)/features/subject/attribute_of_subject.feature参考。「it { subject.first.size.should eq 2 }」とかするのやだよね。そんなときはitsを使えばステキになるよって話。 基本的…

RSpec Railsで名前付きルートのテスト

シリーズ(?)の途中ですが軽く脱線。 route_toマッチャを使うと出来るみたい。名前付きじゃなくてもroute_toマッチャ使うんだけどね。ルーティング可能かどうかだけならbe_routableマッチャでよさげ。spec:routingタスクでルーティングだけテストできる。 % …

すごいぞRSpec(letとlet!編)

すでに前回のすごいぞRSpec(shared example group編) - ぷろぐらまねがで登場してるけどあらためてletを調べるよ。rspec-core(2.5.1)/features/helper_methods/let.featureを参考に。 let 要するにメモ化するわけで、同一サンプル内だと同じオブジェクトを使…

すごいぞRSpec(shared example group編)

ちょっと前に話題になったRSpecのスライドがステキだったよね。でもRSpecはまだまだ底知れない気がするので自分でもいろいろと調べてみようと思った次第。まずはrspec-core(2.5.1)/features/example_groups/shared_example_group.featureを参考にshared exam…

RSpecのおかげで何となくモックの使いどころが分かってきたかも

もちろんテストが先だが、最終的にこんなコードにしたいとする。 class Task def initialize(&block) @block = block end def run @block.call end end で、これまでならこんなテストを書いていたと思う。 describe Task do describe '#run' do before do @s…

Heroku Pusher addonがステキ!

HerokuのWebSocketは制限があるみたいで残念。しかし、まだPublic betaではありますが、しばらく前からHerokuでPusherアドオンが使えるようになっているので、そろそろ試してみようかと思った次第です。 とりあえずあれだ、チャット的な。 http://tsukdany.h…

札幌Ruby会議03に行けなかったんでUstまとめ

http://regional.rubykaigi.org/sapporo03※書き方マズイとことかあったら指摘してください ※柴田さんのが見つからなかったので知ってる方は教えてください 「高速な乗除算の実現と性能評価」 村田 賢太(@mrkn) - 株式会社ジェネティックラボ && Ruby 札幌 ht…

zenraで学ぶtermtterプラグインの書き方

全裸でRubyですね。わかります - ぷろぐらまねがの続き。 window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src …

全裸でRubyですね。わかります

もはや何もいうまい。全裸で形態素解析をするスクリプト - すぎゃーんメモ ゆーすけべー日記 全裸の肩に乗れ!pyZenraモジュールを作ってみた - Keep on moving 全裸のアレの PHP 版を作った - MemoあとでGemとかTermtterプラグインとか作ろうかしら。

Rubyを使ってAndroid端末を5分でリモートカメラにする方法

こちらを参考にRubyでもやってみた。IS01でPython動かんしね。 良いもの。悪いもの。: Pythonを使ってAndroid端末を5分でリモートカメラにする方法 ついでに同じくこちらを参考にQRコードも貼っておこう。 良いもの。悪いもの。: Android端末で青空プログラ…

Google Language API 試してみた

window.twttr = (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0], t = window.twttr || {}; if (d.getElementById(id)) return t; js = d.createElement(s); js.id = id; js.src = "https://platform.twitter.com/widgets.js"; fjs.paren…

SinatraとRuby1.9で"invalid byte sequence in US-ASCII"

ローカルでは動いてんのにHerokuにPushしたら "invalid byte sequence in US-ASCII"って出た。環境変数LANGが設定されないからっぽいのでconfig.ruにでも書いとけばいんでない? Encoding.default_external = 'utf-8' require 'app' run Sinatra::Application

deviseのuserに名前を足してみる

ついでに適当なバリデーションも入れてみる diff --git a/app/models/user.rb b/app/models/user.rb index 7d1ac58..04a015d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -5,7 +5,9 @@ class User < ActiveRecord::Base :recoverable, :re…

deviseにhamlのジェネレータがあった

devise のソースを眺めてたら View の ジェネレータで haml も作れそうだったのでやってみた。 ruby 1.9.2-preview3 rails 3.0.0.beta4 devise 1.1.rc1 haml 3.0.11 確かにあるね。 % rails g devise_views --help Usage: rails generate devise_views [SCOP…

いつの間にかautotest-growlがlibnotifyにも対応していた

Ubuntu 10.04 Ruby 1.8.7-p249 libnotifyとgemをインストール % sudo aptitude install libnotify-bin % sudo gem i autotest-growl 設定はこんだけで # .autotest require 'autotest/growl' あとは適当に # lib/hoge.rb class Hoge def bar 'Hello' end end…

RubyではじめてのCassandra

Ubuntu 10.04 Ruby 1.9.1-p378 Cassandra 0.6.1 まずはそれらしいGemをインストール。 http://github.com/fauna/cassandra % gem i cassandra % gem li *** LOCAL GEMS *** cassandra (0.8.2) json (1.4.3) rake (0.8.7) rdoc (2.5.8) rubygems-update (1.3.…

DataMapperでMySQLに入ってる画像をファイルに書き出す

require 'rubygems' require 'dm-core' require 'base64' DataMapper.setup(:default, 'mysql://省略') class Image include DataMapper::Resource property :id, Serial property :bin, Text end File.open('image.gif', 'w') do |file| file.puts Base64.d…

SinatraとHamlでRailsっぽくPartialする

helpers do def partial(template, *args) options = args.last.is_a?(Hash) ? args.pop : {} options.merge!(:layout => false) if collection = options.delete(:collection) then collection.inject([]) do |buffer, member| buffer << haml(template, op…

RailsのscaffoldのerbをHamlにしてみる

ますは適当にscaffold。 ruby script/generate scaffold topic title:string app/views/layout/topics.html.haml !!! %html %head %meta{'http-equiv' => 'content-type', :content => 'text/html;charset=UTF-8'} %title= 'Topics:' + controller.action_na…

RailsでHamlを使う

% sudo gem1.8 install rails haml % rails haml_sample % haml --rails haml_sample こんだけ。あとは app/views に haml をつくっていくだけ〜。http://haml-lang.com/docs/yardoc/HAML_REFERENCE.md.html

Sinatra始めました

何かと話題なので。 Sinatraとりあえず公式サイトのトップのをそのままいってみる。 #hi.rb require 'rubygems' require 'sinatra' get '/hi' do "Hello World!" end rubygemsをインストールして実行。 % sudo gem1.8 i sinatra % ruby hi.rb == Sinatra/0.9…

ActiveRecordだけ使ってみる

とりあえず適当なテーブルを作っておく。ここはCoCでいっとく。 --test.sqlite3 create table items(id int, key text, value text); insert into items values(1,'test','てすと'); まんつこいだげ確認せばいいびょん。 #spec/item_spec.rb require 'item' …