Skip to content

Instantly share code, notes, and snippets.

@dakatsuka
dakatsuka / env.rb
Created November 1, 2010 10:15
features/support/env.rb
Before do
require 'factory_girl'
require 'faker'
Dir.glob(File.join(File.dirname(__FILE__), '../../spec/factories/*.rb')).each {|f| require f}
end
@dakatsuka
dakatsuka / mobile.rb
Created November 1, 2010 10:18
features/step_definitions/mobile.rb
前提 /^携帯でアクセスしている$/ do
header('user_agent', 'DoCoMo/2.0 P906i(c100;TB;W24H15)')
header('x_dcmguid', 'subscriber')
end
@dakatsuka
dakatsuka / cipher.rb
Created November 15, 2010 09:37
暗号化・復号化
# coding: utf-8
require 'openssl'
def encrypt(str, secret)
enc = OpenSSL::Cipher::Cipher.new("AES-256-CBC")
enc.encrypt
enc.pkcs5_keyivgen(secret)
return (enc.update(str) + enc.final).unpack("H*").first.to_s
end
@dakatsuka
dakatsuka / accept_rails2_session.rb
Created November 21, 2010 13:39
Rails2のSessionと共存するためのモンキーパッチ
module ActionController
module Flash
class FlasHash < Hash
def method_missing(m, *a, &b)
end
end
end
end
@dakatsuka
dakatsuka / accept_rails3_session.rb
Created November 21, 2010 13:42
Rails3のSessionと共存するためのモンキーパッチ
module ActionDispatch
module Flash
class FlashHash < Hash
def method_missing(m, *a, &b)
end
end
end
end
module ActionController
@dakatsuka
dakatsuka / cucumber.rb
Created November 30, 2010 15:04
cucumberで絵文字バグを回避するパッチ
config.after_initialize do
Jpmobile::Emoticon::CONVERSION_TABLE_TO_AU = Hash[*(Jpmobile::Emoticon::CONVERSION_TABLE_TO_AU.map do |k,v|
[k, ""]
end
).flatten]
end
@dakatsuka
dakatsuka / preinitializer.rb
Created December 9, 2010 05:41
Rails2.3でbundlerに対応させる
begin
require "rubygems"
require "bundler"
if Gem::Version.new(Bundler::VERSION) <= Gem::Version.new("0.9.20")
raise RuntimeError, "Your bundler version is too old." +
"Run `gem install bundler` to upgrade."
end
# Set up load paths for all bundled gems
@dakatsuka
dakatsuka / boot.rb
Created December 9, 2010 05:42
Rails2.3でbundlerに対応させる
class Rails::Boot
def run
load_initializer
Rails::Initializer.class_eval do
def load_gems
@bundler_loaded ||= Bundler.require :default, Rails.env
end
Rails::Initializer.run(:set_load_path)
@dakatsuka
dakatsuka / accept_rails3_session.rb
Created December 10, 2010 10:01
Rails2のMemCacheStoreをRails3で作成したセッションに対応するためのパッチ
module ActionController
module Session
class MemCacheStore < AbstractStore
private
def get_session(env, sid)
sid ||= generate_sid
begin
session = @pool.get(sid) || {}
rescue MemCache::MemCacheError, Errno::ECONNREFUSED
session = {}
class Hoge
include ActiveModel::AttributeMethods
def initialize(*args)
super(*args)
args.first.each do |k,v|
send("#{k}=", v)
end
end