ruby

RubyGems をユーザ権限の環境にインストールする

rugygems をユーザ権限のディレクトリにインストールします。 わざわざ root ユーザにならなくていいし、管理が楽かなっと。 手順は以下のサイトを参考にしました。 3.2 Installing RubyGems in a User Directory $HOME/opt/gems に RubyGems を、 $HOME/opt…

メモリ上に DB を作る (SQLite3)

メモリ上に DB を作って、データを入れたり、参照したり。 #!/usr/bin/ruby require 'rubygems' require 'sqlite3' sql = <

Ruby/DL で Mecab を使う

mecab のサンプルにあった一番簡単そうなものを Ruby/DL で書いてみた。 お試し程度で使うなら Ruby/DL はいい方法かもね。 ソースコード #!/usr/bin/ruby require 'dl/import' module Mecab extend DL::Importable dlload 'C:\Program Files\MeCab\bin\libm…

Web からテキストを取得してハッシュに変換する

Web からデータを取得して、あとは Mix-in で取り込んだ Filter 機能でデータをごりごり加工していく。 #!/usr/bin/ruby require 'uri' require 'net/http' Net::HTTP.version_1_2 module Rire class Mapping def self.define(&block) m = new m.instance_ev…

RubyForge News の新着通知 BOT を作ってみた

BOT を作ってみたくて、RubyForge News の新着を Wassr の RubyForge チャンネルに通知するようなものを作りました。http://wassr.jp/channel/rubyforge全体に乗せるのは邪魔くさいので、チャンネルへの発言になっています。 更新確認は 30 分くらいの間隔で…

Ruby で WebService::Simple

get を実装してみたのでリボジトリに登録した。名前も WebAPI::Base から WebService::Simple に変更しました。 やっぱりこういうツールがあると楽かもね。考えた人はすごい。http://xry.googlecode.com/svn/trunk/ruby/WebService/使い方はこちら。前の記事…

Ruby でも WebService::Simple みたいなことをしたい

Twitter に POST したり、Wassr に POST したり、はてなハイクに POST したり・・・をまとめようと思っていたら、WebService::Simple を知りました。そんなわけで、WebService::Simple を Ruby 風のクラスベースにしてみました。 param や response_parser …

"今日" の Outputz 結果を Twitter に POST する

Outputz の結果を取得してログを残せないかと思ったら、どうも Outputz の Cookie と復活の呪文が結びついているようなので、いつも Outputz サイトを見ているブラウザの Cookie があれば daily のアウトプット値を引っ張ってこれる。 なので、そうやって取…

Time.now で指定した時間を返すようにする

Time.now を使うテストをしたくて、事前に設定した時間を Time.now が返すようにしてみた。Time._set_time に Time.parse が解析できる時間の文字列を指定し、Time.now を使うと、先ほど設定した時間を返すというものです。 require 'time' class Time class …

Wassr で自分があげたイイネと被っているユーザを一覧で表示する

自分がイイネをした発言と被ってイイネをしているユーザは、自分と同じような感性を持っているのでは?と思ってみて、作ってみました。よく「オススメのユーザ」と表示される機能の一種のような感じです。第一引数に表示したいユーザ ID を指定してください…

英語で Wassr を楽しむ

つもりだったけれど、どうも英訳の精度があまりよくないので、そこそこな感じ。日本語でヒトコトを入力して、英語に翻訳して、発言する。というもの。 twitter は、英語圏が多いので、そこでしゃべるのなら、面白みがでてくるかもしれない、と思って作ってみ…

CCorno の style 定義ファイルのロード方法を模索中

まず手ごろなものとして、style/{スタイル名}/{スタイル名}_style.rb のような感じで style ファイルを用意し、それぞれのファイルを読んでクラスを生成する。といった感じにしてみた。デバッグ出力があるけれど、気にしない。 #!/usr/bin/ruby style_path =…

ハッシュ関数を使う (MD5, SHA1, SHA256)

Ruby でハッシュ関数 (MD5, SHA1, SHA256) をそれぞれ使ってみた。 require 'digest/md5' # => Digest::MD5 require 'digest/sha1' # => Digest::SHA1 require 'digest/sha2' # => Digest::SHA256 puts "SHA1: #{Digest::SHA1.new.update("foo")}" puts "SHA…

Chiba.rb の参加方法を訂正

指摘を受けて修正しました。QuickML の説明の読みが足りなかった。。。orz修正した箇所は、Chiba.rb の参加方法の送信先に Cc が抜けていましたので、追加しました。 以下のようなメールを、メーリングリスト宛てに送信してください。 To: chibarb あっと qw…

Chiba.rb 発足?

コミュニティサイトを作ってみました。 コミュニティの参加経験が少ないので、どうなっていくか先がまったく見えません。 ちょっと無謀すぎたかも。 目的は、千葉近辺で Rubyist が集まって、情報交換や勉強会などを一緒にやれたらなーとい思いで作りました…

dRuby サンプル

動作確認のため、dRuby のサンプル簡単な動作サンプルを書いてみた。 サーバ側 require 'drb/drb' class Counter attr_reader :value def initialize @value = 0 end def inc @value += 1 end end DRb.start_service('druby://localhost:24680', Counter.new…

Corno 作成中

今は Corno というものを作成中で、Corno は何かというと Changelog という形式のファイルをブログのように HTML に変換するツールです。 同じ Changelog メモを変換するツールとして chalow が有名で、Corno はそれを参考にしているけれども、ところどころ…

Wassr クラス: タイムラインを取得する

対象のユーザや自分のタイムラインを取得するために作った Wassr クラスです。 今のところタイムラインを取得するくらいしかできません。 CodeRepos に上げてみようかな。 require 'rubygems' require 'mechanize' require 'hpricot' # TODO: クラスごとにフ…

HTML ファイルの全ノードの XPath を取得する

ひさびさに Ruby を使ってみる。 HTML ファイルを読み込んで、ノードを走査してノードごとの XPath を取得する、ただそれだけのもの。 require 'kconv' require 'rubygems' require 'hpricot' text = '' File.open('wassr_user.html', 'r') do |f| text = f.…

自分なりの PRagger - ActiveProperty

Yet Another Pragger -- BONNOH FRACTION 13PRagger はソースコードが短かくて、中身がシンプルなので、しばらく使っていると自分なりの味を出したくなる気持ちは十分わかる。 ただ、起動時にプラグインをすべて読み込む(これが結構遅い)や Logger がない…

Ruby で twitter にメッセージを送ろう

ライブラリを gem からインストール gem install twitter ソースコード require 'rubygems' require 'twitter' twit = Twitter::Base.new('めーるあどれす or ID', 'ぱすわーど') twit.update('watching veronica mars') OK!

サイト更新チェッカークラスのプロトタイプ

self.site_url にチェックしたい URL を設定し、 self.prepare で前処理をし(今は何もしていない)、 self.process で BODY 部から正規表現でデータを抽出し、 self.after で抽出したデータを加工(スペースを消したり)する、といったクラスをUpdateChecke…

NicoProxy を使うと動画が表示されなくなる

NicoProxy ニコニコ動画SP1に対応しました - unnecessary words 2 〜 3 日前くらいから NicoProxy を使った場合に、 以下のようなスタックが表示され、動画が表示できなくなってしまった。 ERROR NoMethodError: private method `gsub' called for nil:NilCl…

クラスメソッドの変更しようか、迷っている

データを取得するために、初期準備の処理を書くメソッドと 実際に取得したデータを加工していく処理を書くメソッドを用意したほうがいいのか、 迷っているところ。 現在は、特に前処理はなく、entry ごとに対して後処理を追加することが できるくらい。

システムの情報を取得する for Windows(CPU の枚数を取得する)

Ruby で CPU の枚数を取得したくで、WinAPI を使った方法で書いてみた。 API および構造体の情報はコメントおよびリンク先の MSDN を参照。 # # GetSystemInfo # # 現在のシステムに関する情報(ページのサイズやプロセッサの種類など)を取得します。 # # V…

RSS ファイルを読み込む

RSS ファイルを読み込むプロパティを作成してみた。 そんなことをしなくてもフツーに Ruby 標準の RSS Parser だけを 使えばいいんですが。 require 'lib/rire' require 'rss/maker' class RSSEntry < Rire::PropertyBase setup do |source| text = '' open(…

Rire とは?

このブログにちょくちょくでてくる Rire について、簡単に説明しておきます。 それに、今改良を重ねていて、何だか軸がぶれているような気がして、 自分の中にある完成イメージをもとに、README を書きます。 残しておけば、この先、役に立つはず。 Rire と…

アニメイト TV - Web ラジオ

アニメイトTV Web - 動画・音声アニメイト TV の Web ラジオ配信サイトから、配信中のタイトル・日付・ラジオリンク・ 説明を取得する。 class AnimateRadio < Rire::PropertyBase record :xpath => '//td[@bgcolor=#656363]' do has_property :title, :xpat…

音泉クラス

インターネットラジオステーション<音泉>音泉ページから、番組ごとのタイトル・パーソナリティ・ラジオコンテンツのリンク などを取得する。 class Onsen < Rire::PropertyBase record :xpath => '//td[@bgcolor=#000000]' do has_property :title, :regex…

クラス宣言時に、抽出条件を定義する

record で繰り返しになっている部分を抽出し、 has_property でプロパティになる部分を一つずつ抽出する定義をする。 以下のような感じにもしようかと思ったけれども、あまりきれいじゃない。 record :xpath => '//td[@bgcolor=#000000]' do |has_property| …