Ruby

Ruby1.9.2からはrequireの$LOAD_PATHにカレントディレクトリが含まれない

覚えていると全く問題ないんだけどど忘れすると混乱するのでメモ とりあえず明示的にカレントディレクトリのを読むようにした # -*- coding: utf-8 -*- require './hoge'

RubyKaigi2011に参加します

いまさらながらにチケット買ってみた

rvmrcを使うと便利

RVMを使っていてプロジェクトごとにRubyやGemsetを頻繁に切り替えるような場合は便利 cdでRAILS_ROOTに移動したとき指定したバージョンに自動的に切り替えてくれるRAILS_ROOTに.rvmrcってファイルを作って、使いたいバージョンを書いとく # example rvm 1.9.…

Mac OSX10.6のRVM上でSQLite3に接続できない

RVMでGemset切って必要なGem入れてまでを一気にやったらなんかSQLite3に接続できない? # Error on Mac OS X 10.6.6 RVM@ruby-1.9.2-p0 /Users/arcright/.rvm/gems/ruby-1.9.2-p0@hoge/gems/sqlite3-1.3.3/lib/sqlite3/sqlite3_native.bundle: [BUG] Segment…

メタプログラミングRuby読みます!

買ったのにかばんの中にいれっぱなしで忘れていたのでこれから読む メタプログラミングRuby作者: Paolo Perrotta,角征典出版社/メーカー: アスキー・メディアワークス発売日: 2010/08/28メディア: 大型本購入: 14人 クリック: 481回この商品を含むブログ (10…

Rubyで正規表現を使う

"aaa,bbb,ccc" =~/(.*),(.*),(.*)/ # MatchDataオブジェクトが$~で取れる $~ => #<MatchData "aaa,bbb,ccc" 1:"aaa" 2:"bbb" 3:"ccc"> $& =>"aaa,bbb,ccc" # $&も含めたArrayを返す $~.to_a => ["aaa,bbb,ccc", "aaa", "bbb", "ccc"] # $&抜きのArray $~.captures => ["aaa", "bbb", "ccc"] # なんか個別にとっ</matchdata>…

CentOSにRVMでRuby1.9.2を入れようとしたらエラーになった

Ruby1.9.2がリリースされたので早速入れてみようと思いCentOSのRVMでインストールしてみるとエラーが。 $ rvm install ruby-1.9.2-head info: Installing Ruby from source to: /home/arcright/.rvm/rubies/ruby-1.9.2-head info: Downloading source from h…

RVMのGemsetを使って複数のGemを管理する

RVMのGemsetを使うと同じRubyのバージョンに対していくつものGemを管理できる。 使い方 # gemset作成 rvm gemset create hoge # 使用する rvm gemset use hoge # 一覧 rvm gemset list hoge fuga # 現在使ってるもの rvm gemset name hoge # こんな感じでも…

誰でもできるTwitterBotの作り方購入しました

プログラミング言語に触ったことがなくてTwitterBotに興味もった人にはいいかもしれない(俺は表紙買い) 少しでも触ったことがあれば購入する必要なくて立ち読みでことが済むレベル 誰でもできるTwitter Botの作り方―人気キャラにつぶやかせる作者: 鏑家経済…

VALUEDOMAINのDDSN用スクリプト

ちゃんと動いてると思う。もっと綺麗に書きたいよなー ※1日回してみたけどまともに動いてなかった直さないと(グローバルIP取得ができなかったときの考慮が抜けてた。) ルータからグローバルIPを取得しようとしている途中 #!/usr/bin/env ruby require 'net/h…

Rakeにタスクを追加する

Railsの場合だけどRAILS_ROOT/lib/tasksに*.rakeファイルつくると追加できる # hogehoge.rake desc "setumei" task :task_no_namae do puts "syori" end # rakeタスク一覧 rake -T # 実行 rake task_no_namae

RubytterとOAuthでtwitterに投稿

アクセストークンの取得まではほぼ下記サイトと同じです。ありがとうございます TwitterのbotをOAuthに対応させる - しばそんノート Rubytterでポストする時はOAuthRubytterを利用すればoauthを使ってポストできる #!/usr/bin/env ruby require 'rubygems' r…

RVMで複数バージョンのRubyを使う

# githubから入れた方がいいのかもしれない sudo gem install rvm # install rvm-install # shellの設定ファイルに書く(bashrcとかzshrcとか) [[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvmrvmコマンドでいろいろできるようになってる …

Macのirbで日本語入力ができないのでreadlineを入れなおす

MacにRubyが標準搭載されているがreadlineのせいでirbで日本語入力できないので入れなおした。 readline sudo port install readline Ruby configure時にreadlineのパスを指定 ./configure --with-readline-dir=/opt/local

irb,script/consoleでシンタックスハイライトと補完を行う

wirbleというものを使うとirbやconsoleで補完やシンタックスハイライトができるそう。 sudo gem install wirble ~/.irbrc require 'rubygems' require 'wirble' Wirble.init Wirble.colorize irbを使ってみると色がついてるし補完も聞くようになってる >> [1…

TemplateError in exception_notifier/_environment.rhtml

今日少し詰まったところ。actionmailerで例外が発生したときにこんなエラー出たら恐らくこれ。Ruby 1.8.6のpatchlevel ActionView::TemplateError (flag after width) on line #3 of /vendor/plugins/exception_notification/views/exception_notifier/_envi…

Ubuntu9.10にRailsのインストールをする

以前の9.04の環境構築の改訂版なので多少はマシになっているハズ とりあえずブラウザでlocalhost:3000がみれるまでとしているdbとかはスルー 過去の記事:Ubuntu 9.04にRuby on Railsインストール - WapBox インストールする環境 Ubuntu 9.10 VirtualBox上で…

配列の要素を変数に代入する

a,b,c,*d = [1,2,3,4,5,6,7] a #=> 1 b #=> 2 c #=> 3 d #=> [4,5,6,7]

Hamlでブロックの引数を書くとき

erbだと|との間にスペースがあいている物をみることがあるけどhamlだとエラーになる -# 間違い - @hoge.each | h | = h.name -# 正しい - @hoge.each |h| = h.name該当の行のエラー syntax error, unexpected ';', expecting '|'

SinatraでRailsっぽいhtml_escape

helperに追加してあげればいい helpers do include Rack::Utils alias_method :h, :escape_html end 参考サイト http://www.sinatrarb.com/faq.html#escape_html

プログラミング言語 Ruby読了

プログラミング言語 Ruby作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘出版社/メーカー: オライリージャパン発売日: 2009/01/26メディア: 大型本購入: 21人 クリック: 356回この商品を含むブログ (129件) を見るプログラミング言語 Ruby(…

WikipediaのURLを返すSkypebot

ひとまず作ってみたけどあまりよろしくないいろいろな意味で require 'rubygems' require 'skypeapi' require 'uri' SkypeAPI.init SkypeAPI.attachWait def Chatless(chatmessage) active_chat = SkypeAPI.searchActiveChats #w:ではじめるとwikipediaのURL…

Ruby4SkypeでSkypeAPIを使ってみる

WindowsのみだがRuby4Skypeというものがあったので使ってみる ドキュメント http://rubyforge.org/docman/view.php/4599/3509/doc.html http://rubyforge.org/docman/view.php/4599/3510/ref.html インストール gem install Ruby4Skypeswin.so依存とのことだ…

Ruby - 文字列をシンボルに変換する

"string".to_sym => :string やってはいけない例 ":string".to_sym => :":string"

Windowsだとrakで色がつかない

win32consoleパッケージをインストールすればいいみたい >gem install win32console Need to update 11 gems from http://gems.rubyforge.org ........... complete Select which gem to install for your platform (i386-mswin32) 1. win32console 1.2.0 (x…

Ubuntu 9.04にRuby on Railsインストール

Windows機にパーティションを切ってUbuntuをデュアルブートでインストールするとこから Ubuntu 9.04 Ubuntu Desktop 日本語 Remix CDのダウンロード | Ubuntu Japanese Team からisoファイルをダウンロード isoファイルをCD-Rに書き込む BIOS設定でCDドライ…

Rubyでディレクトリ内のファイル名を取得

DirクラスかPathnameクラスを使用すると取得できる Dir.glob(pattern) Dir.glob("RAILS_ROOT/public/stylesheets/*.css") Pathname.glob(pattern) Pathname.glob("RAILS_ROOT/public/stylesheets/*.css") stylesheetsにあるcssファイルを取得してる DirとPat…

Ruby - Fileクラスでファイル名や拡張子だけ取得

ファイルを扱うときにファイル名のみを取得したり拡張子のみを取得する File.basename ファイル名を取得する際に最後の/以降を返す File.basename("/app/controller/hoge.rb") #=>"hoge.rb" 第二引数に拡張子を指定すると一致した場合拡張子を取り除くことが…

Rails findメソッド:all,:firstの扱い

findする際の第一引数にあたる:all,:firstだがちょっと躓いた:allは名のごとく条件に当てはまるものを全件取得してくる :firstは条件に当てはまる中の最初の1件のみ取得してくる:allを指定した時点で結果が配列になって返ってくるというところで詰まった 特…

rakeのバージョンを指定して実行

現在インストールされているrakeのバージョンを表示 gem list rake *** LOCAL GEMS *** rake (0.8.4, 0.7.3) Ruby based make-like utility.新しいversionが優先度高いようなのでバージョンを指定して実行 rake _0.7.3_ db:migrate