ruby

backgroudrbを使ってみる

WebDBPressのvol40のRuby on Rails本格活用を参考にサンプル的に実行してみる サンプルコードを書いてみて、テストを実行してみる 例外が出てアチャー 1) Error: test_all_clawl(MyFeedTest): NoMethodError: undefined method `[]' for # (druby://localhos…

相対パスで記載されたURLから、絶対パスに変換する方法

どんなときに open-uriなどで、HTMLページをクロールしたデータを、ローカルで開くと デザインが崩れていたり、リンクをクリックしても思い通りのところへ飛べないことがあります。これは、HTML内で相対パスで記載されているものを、そのまま取得しているか…

rexmlの使い方例メモ

rexmlは、rubyでxml解析を行うためのライブラリで、 rubyに標準添付されています。 使い方の簡単なメモ(自己流なので、使い方が間違っているかもですが。。。) こんなxml文書(tmp.xml)あったとする。

rails2.0では、setupメソッドがうまく呼ばれないバグがある

http://jijixi.azito.com/cgi-bin/diary/index.rb?date=20071221 な、なんだってー うまくいかずに、setupに書くべき部分をそれぞれのテストメソッドの先頭に書いて DRYじゃないなぁと気持ち悪い思いをしていた俺涙目ww こんなソース書いてた(毎回、お…

ldclip-0.0.3をリリースしました

インストール gem install ldclip 変更点 一部の文字列を含むurlの操作ができないバグを修正しました。 詳細な説明 こちらを( ゚д゚)ノドゾー http://d.hatena.ne.jp/utadaq/20080211

ldclipの使用サンプル

あるタグを全て変更する 使用法 @idと@apikeyのところを打ち変えて、 引数1に変更対象のタグ、引数2に変更後のタグを入れてください。 $KCODE = 'u' require "ldclip" require "nkf" require "pp" require "rexml/document" @beforetag = ARGV[0] @afterta…

ldclip-0.0.2をリリースしました

概要 livedoorclipAPIを、rubyから操作しやすいようにしたライブラリです。 インストール gem install ldclip 簡単な使用法 ライブドアIDと、apikeyをこのurlから獲得します。 http://clip.livedoor.com/config/api 基本的な使用方法 @ldc = Ldclip.new(@id,…

newgemsで作成した雛形からパッケージを作ろうとしてエラー

以下のサイトを参考にして、rubygems用のパッケージを作成しています。 http://d.hatena.ne.jp/secondlife/20061106/1162785661 雛形のlib/[app name].rbを編集して 機能を作成後に、パッケージを作成しようとすると、エラーがでました。 そのエラーを回避し…

jrubyのインストール

[6339]% whereis jruby [/usr/ports/java/diablo-jdk15] jruby: /usr/ports/lang/jruby [6340]% cd /usr/ports/lang/jruby [/usr/ports/java/diablo-jdk15] Makefile distinfo files pkg-descr pkg-plist work [6341]% sudo make install clean [/usr/ports/…

rubyで角丸画像作成

超車輪ながら、とりあえず。 # 画像を角丸にする require 'RMagick' class TbKakumaru # class method def TbKakumaru.toKakumaru_from_blob(blob) mimage = Magick::Image.from_blob(blob).pop wakuColor = 'white' # とりあえず白 wakuSize = 1 wakuMaru =…

utf8なputtyで接続してrefeを引く

デフォルトではutf8で出力されないので、パイプを使う。 ${HOME}/binにパスを通しておいて、実行可能形式にしてc2utfを保存。 1 #!/usr/bin/ruby -Ku 2 # stdin to utf8 3 # stdinが無いときはフリーズするので、Ctrl+cで中断する。 4 5 require 'nkf' 6 7 c…

ActiveRecordで使用するDBの列名にtypeと指定してはまる。

んー、Object.typeっていうメソッドがあると言うのを知らないで定義してしまって、思い通りに動かなかったんだけど、 よく考えたらオーバーライドされるから動くはず?とりあえず列名変更で回避しようと思うけど、とりあえずメモ。

requireとloadの違い

test.rb require 'test2.rb' require 'test2.rb' p '----------------------' load 'test2.rb' load 'test2.rb' test2.rb p 'test2 here' 実行結果 [2774]% ruby test.rb "test2 here" "----------------------" "test2 here" "test2 here" ちなみに、load '…

Rubyでニコニコ動画のflvをダウンロードしてMP3抽出

MP3抽出用に apt-get install ffmpeg を実行。 その後、 mechanize.rbでニコニコ動画のflvをダウンロード(polog) の末尾に、 ffmpegcmd = "ffmpeg -y -i \"#{video_id}.flv\" -acodec copy \"#{video_id}.mp3\"" `#{ffmpegcmd}` を追加。

Rubyでニコニコ動画のflvとコメントxmlをダウンロードしようとして挫折

Perlでニコニコ動画のflvとコメントxmlをダウンロードする (Yusukebe::Tech) perl - 勝手に添削 - ニコニコ動画ダウンローダー (404 Blog Not Found) 上記を参考に、Rubyでやろうと思って挫折。 最後にダウンロードするところで400BadRequestが帰ってきて(ノ∀…

デバッグする

ruby -r debug [script name] l xx 現在のファイルのソースを見る b xx 現在のファイルのxx行目にブレークポイントを打つ c 実行を継続(ブレークポイントが打ってあればそこまで実行) s [xx] ステップイン(行数:省略可能) n [xx] ステップオーバー(行数…

rubygemsでインストールしたライブラリのマニュアルを見る

インストールしたマシンで、 [2555]% gem_server [/var/lib/gems/1.8/doc/httpclient-2.1.0/rdoc] [2007-08-04 11:17:30] INFO WEBrick 1.3.1 [2007-08-04 11:17:30] INFO ruby 1.8.5 (2006-08-25) [x86_64-linux] [2007-08-04 11:17:30] INFO WEBrick::HTTP…

ActiveRecord::Baseの項目をオーバーライトする

いまさら感のある基本な事ですが、 ある項目は値をセットするときに、エスケープしたいとか何倍したいとかするとき。 require 'cgi' Class Page < ActiveRecord::Base # uriがmigrateで定義されているとします # セッタの場合 def uri=(text) # self.uri = C…

チケット取り損ねた

うぁぁ http://jp.rubyist.net/RubyKaigi2007/

Sexy Migrations

ウェブ見回ってたら、面白いプラグインを見つけた。 コレまでdb/migrateにこう書いていたのが class UpdateYourFamily < ActiveRecord::Migration create_table :updates do |t| t.column :user_id, :integer t.column :group_id, :integer t.column :body, …

rakeを実行しようとしたときにuninitialized constant ActiveRecordエラーが出る件について

rakeのタスクの最初には、:environmentを実行する必要があるみたい たとえば、かんたんRuby on RailsでWebアプリケーション開発かんたんRuby on RailsでWebアプリケーション開発作者: arton出版社/メーカー: 翔泳社発売日: 2006/07/27メディア: 大型本購入: …

[Pragger}インストール&サンプルを使ってみた

なんかRDFファイルが簡単にできた。 なるほど、コレがPraggerか。いろいろ楽しそう。http://pragger.ikejisoft.com/wiki/UsingPragger

疑問

辞書はUTF-8でインストールしたつもりなんだけど、mecabに与える文字列と出てくる文字列はやっぱりeucじゃないと どーもうまくいかないみたい。そういうもんなのかな。とりあえずeuc変換とかそのあたりに気を使えば使えるからいいか。

インストールが重い。

特にriのインストールがすんげぇすんげぇすんげぇ時間かかる。 まぁ3世代以上前のThinkpad使ってるから仕方ないか。

WWW::mechanize

OSはよくわかんなにけどdebian使っていて、rubyからブラウザもどきの挙動をしてくれる べんりなmechanizeというライブラリをgem installして使用していると、 /usr/local//lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require':…

RSSなどの、UTF8エンコードのインプットをEUC形式に変換して出力したい

基本が全然できてないので、すげぇハマッた。(ノ∀`)アチャーダメな例 require 'open-uri' require 'kconv' require 'pp' $KCODE = 'u' data = open('http://d.hatena.ne.jp/utadaq/rss').read pp Kconv.kconv(data,Kconv::EUC,Kconv::UTF8)こうしてみると一目瞭然…

なんとなくyieldのイメージがつかめた気がする

すげぇ便利くさい。 # Array#eachの(粗製乱造の)類似品 def iich(arr) # 引数に配列を取る idx = 0 while idx http://www.ruby-lang.org/ja/man/?cmd=view;name=%A5%E1%A5%BD%A5%C3%A5%C9%B8%C6%A4%D3%BD%D0%A4%B7#yieldたとえば StructA = Struct.new("Stru…

rdocが重過ぎる件について

>rdoc --ri C:\ruby 激重でかなしひ(ノ∀`)アチャー

ruby.dictの作成

http://www.naotaka.com/blog/archives/2005/1102111652.php riから自動補完(C-x C-k)で使う を作成するスクリプト コレに予約語(class,moduleとか)を付加すれば無敵っぽ C-x C-kっていう、コントロール押しっぱなしでまた別のキーを押すってのが emacsっぽくて…

gem 0.9.0の動作がワカンネ

GEM update --system でバージョンアップしたら、 なんか GEM::GemNotFoundException と言うのがでる。 とりあえずメモ。