ruby

クラスメソッドのエイリアス

クラスメソッドのエイリアスは特異クラスで実現できる。 class Item def self.hoge 'hoge' end class << self alias :fuga :hoge end end Item.hoge # => hoge Item.fuga # => hoge

サイトをクロールしてsitemap.xmlを作るライブラリ

Googleウェブマスターツールやら、Yahoo!サイトエクスプローラーやらのためにsitemap.xmlをつくろうとおもいたった。 動的サイトなら、みんなたぶん自動でsitemap.xmlを作るようにしてるんだろうけど、静的ページがあるとそうはいかない。いくつかツールはあ…

インスタンスメソッド内でアクセサを使う際の注意点

ちょっとしたことだけど、知っておかないとよくわかんないバグになるよ。 インスタンスメソッド内で、アクセサを使ってインスタンス変数を変更する際の注意点。 たとえば、 class Sample attr_accessor :a, :b # インスタンス変数@a,@bを文字列連結して返す …

AES共通鍵暗号で文字列を暗号化

要り用だったのでつくった。 まちゅダイアリー irb で覚える共通鍵暗号 (AES)を参考にした。 # aeshex.rb require 'openssl' module AESHex class Error < RuntimeError; end def self.key=(str) @@encrypter = nil @@decrypter = nil @@key = str.to_s end …

認証APIいろいろをRubyで使う

はてな認証API http://auth.hatena.ne.jp/ Rubyではてな Hatena::API::AuthのRuby版をid:secondlifeさんが公開してくれてる。 gem install hatenaapiauthrequire 'rubygems' require 'hatena/api/auth' require 'cgi' cgi = CGI.new params = { :api_key=>"x…

SeoTools 0.1.0

趣味と実益、あと勉強も兼ねて。 SEOに便利な機能の詰め合わせ、予定です。 できること 今のところ、ほんのちょっとしか機能ありません。 検索順位取得(Google/YST) インデックス数取得(Google/YST) Googleページランク取得 インストール gemを用意しま…

RailsでなくともActiveSupport

今回、gemを使わず、ダウンロードしたソースを置いておく。 $ ls lib active_record active_record.rb active_support active_support.rb$APPLICATION_ROOT = File.expand_path(File.dirname(__FILE__)) $LOAD_PATH.unshift File.join($APPLICATION_ROOT, '.…

Railsでなくとも使ってみる

RailsでARに慣れるとDBIなどでのアクセスはストレスです。 楽をしたい。 RailsじゃなくてもARを使いたい。 そこで使ってみました。今更ですが。 ちなみにActiveRecordはMITライセンスです。生CGIで使いたいなーという状況。 共用のレンタルサーバなんかでgem…