Skip to content

Instantly share code, notes, and snippets.

@macks
macks / dm-collate.rb
Created July 31, 2009 18:49
Column-level collation support for DataMapper/MySQL
# Column-level collation support for DataMapper/MySQL
#
# e.g.)
# property :name, String, :collate => 'utf8_bin'
gem 'dm-core', '0.9.11'
require 'dm-core'
require 'dm-core/adapters/mysql_adapter'
@macks
macks / dm-bigint.rb
Created July 31, 2009 18:52
Bigint support for DataMapper/MySQL
# Bigint support for DataMapper/MySQL
#
# e.g.)
# property :value, Bigint
gem 'dm-core', '0.9.11'
require 'dm-core'
require 'dm-core/adapters/mysql_adapter'
@macks
macks / gist:213978
Created October 20, 2009 04:07
Monkey patch for Rubytter
# -*- coding: utf-8 -*-
class Rubytter
alias update__without_strict140 update
def update(status, params = {})
if (characters = status.split(//u)).size > 140
status = characters[0, 140].join
end
update__without_strict140(status, params)
@macks
macks / gist:214187
Created October 20, 2009 11:18
Patch for Termtter 1.4.0
diff --git a/lib/termtter/api.rb b/lib/termtter/api.rb
index eca96ea..c30ed83 100644
--- a/lib/termtter/api.rb
+++ b/lib/termtter/api.rb
@@ -22,7 +22,7 @@ module Termtter
consumer = OAuth::Consumer.new(CONSUMER_KEY, CONSUMER_SECRET, :site => 'http://twitter.com')
access_token = OAuth::AccessToken.new(consumer, config.access_token, config.access_token_secret)
@twitter = OAuthRubytter.new(access_token, twitter_option)
- config.user_name = @twitter.verify_credentials[:name]
+ config.user_name = @twitter.verify_credentials[:screen_name]
@macks
macks / friends.rb
Created October 20, 2009 11:25
Add followings (or friends) command to Termtter
# -*- coding: utf-8 -*-
module Termtter::Client
register_command(
:name => :friends,
:aliases => [:followings],
:help => ['friends,followings', 'Show followings'],
:exec_proc => lambda {|arg|
user_name = arg.strip.sub(/^@/, '')
@macks
macks / rack_cgi_post_parameter_fix.rb
Created November 8, 2009 07:59
Fix for Rack CGI handler's POST parameters
# Fix for Rack CGI handler's POST parameters
require 'rack/rewindable_input'
app = proc {|env|
env['rack.input'] = input = Rack::RewindableInput.new(env['rack.input'])
begin
YourApplication.call(env)
ensure
input.close
end
}
@macks
macks / test-do_sqlite3-utf8-ruby1.9.rb
Created November 10, 2009 08:36
do_sqlite3 always return ASCII-8BIT string object on Ruby 1.9. (datamapper ticket #1120)
# coding: utf-8
# Ruby: 1.9.1p243 (2009-07-16 revision 24175) [i486-linux]
# dm-core: 'next' branch
# data_objects: 'next' branch
require 'dm-core'
class Foo
include DataMapper::Resource
@macks
macks / fix-do_sqlite3-utf8-ruby1.9.patch
Created November 10, 2009 08:38
Fix for gist:230744 problem.
diff --git a/do_sqlite3/ext/do_sqlite3_ext/do_sqlite3_ext.c b/do_sqlite3/ext/do_sqlite3_ext/do_sqlite3_ext.c
index 87923d5..f62f8e8 100755
--- a/do_sqlite3/ext/do_sqlite3_ext/do_sqlite3_ext.c
+++ b/do_sqlite3/ext/do_sqlite3_ext/do_sqlite3_ext.c
@@ -604,6 +604,9 @@ static VALUE cCommand_execute_reader(int argc, VALUE *argv, VALUE self) {
rb_iv_set(reader, "@reader", Data_Wrap_Struct(rb_cObject, 0, 0, sqlite3_reader));
rb_iv_set(reader, "@field_count", INT2NUM(field_count));
+#ifdef HAVE_RUBY_ENCODING_H
+ rb_iv_set(reader, "@connection", conn_obj);
@macks
macks / data_objects_encoded_string_spec.patch
Created November 12, 2009 07:08
Spec for DataObjects with encoded string support. (will be failed)
diff --git a/data_objects/lib/data_objects/spec/encoding_spec.rb b/data_objects/lib/data_objects/spec/encoding_spec.rb
index 4b14e17..de3a974 100644
--- a/data_objects/lib/data_objects/spec/encoding_spec.rb
+++ b/data_objects/lib/data_objects/spec/encoding_spec.rb
@@ -40,4 +40,43 @@ share_examples_for 'a driver supporting encodings' do
end
+
+ if defined?(::Encoding)
@macks
macks / do-sqlite3_encoded_string_support.patch
Created November 12, 2009 17:51
Patch to support encoded string object for data_objects and do_sqlite3. (incomplete)
diff --git a/data_objects/lib/data_objects/spec/encoding_spec.rb b/data_objects/lib/data_objects/spec/encoding_spec.rb
index 4b14e17..de3a974 100644
--- a/data_objects/lib/data_objects/spec/encoding_spec.rb
+++ b/data_objects/lib/data_objects/spec/encoding_spec.rb
@@ -40,4 +40,43 @@ share_examples_for 'a driver supporting encodings' do
end
+
+ if defined?(::Encoding)