Skip to content

Instantly share code, notes, and snippets.

@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
@dakatsuka
dakatsuka / mobile_support.rb
Created January 21, 2011 11:22
Rails3 + jpmobile + cucumber + webrat
前提 /^携帯でアクセスしている$/ do
header('HTTP_USER_AGENT', 'KDDI-CA39 UP.Browser/6.2.0.13.1.5 (GUI) MMP/2.0')
header('HTTP_X_UP_SUBNO', 'subscriber')
end
@dakatsuka
dakatsuka / mail_patch.rb
Created March 27, 2011 18:55
ドットが連続したメールアドレスに対処するパッチ(Mail::Message.from)
# coding: utf-8
module Mail
class Message
def from_with_patch_rfc_violation
str = from_without_patch_rfc_violation
begin
str = str.join
rescue
@dakatsuka
dakatsuka / email.rb
Created April 3, 2011 11:49
config/initializers/email.yml(Production環境時のSMTP設定)
if Rails.env == "production"
filename = File.join(File.dirname(__FILE__), '..', 'email.yml')
if File.file?(filename)
config = YAML::load_file(filename)
if config.is_a?(Hash) && config.has_key?(Rails.env)
config[Rails.env].each do |k, v|
v.symbolize_keys! if v.respond_to?(:symbolize_keys!)
ActionMailer::Base.send("#{k}=", v)