Skip to content

Instantly share code, notes, and snippets.

View rubypanther's full-sized avatar

Paris Sinclair rubypanther

  • Eugene, Oregon, USA
View GitHub Profile
scope :voted_since, lambda{|since|
joins(:votes)
.where("`votes`.created_at >= ? AND `votes`.project_id = `users`.project_id", since.to_s(:db))
.group("`votes`.user_id")
.order("COUNT(`votes`.user_id) DESC")
}
def last_activity_description(date, user_id)
user_activity = UserActivity.find(:first, :conditions => ["Date(updated_at) <= ? and user_id = ?", dat
e, user_id], :order => 'updated_at DESC')
user_activity.activity.description
end
# better
def last_activity(date, user_id)
UserActivity.find(:first, :conditions => ["Date(updated_at) <= ? and user_id = ?", dat
e, user_id], :order => 'updated_at DESC').activity
def last_activity(date, user_id)
active_id = UserActivity.find(:first, :conditions => ["Date(updated_at) <= ? and user_id = ?", dat
e, user_id], :order => 'updated_at DESC').activity_id
end
@rubypanther
rubypanther / Gemfile
Created January 31, 2012 02:32
Connecting to MS SQL with Ruby (platform independent)
source 'http://rubygems.org'
group :db do
gem 'ruby-odbc', :require => 'odbc'
gem 'tiny_tds'
gem 'activerecord-sqlserver-adapter', '~> 3.1.0'
# gem 'composite_primary_keys', '~> 3.1.0'
end
@rubypanther
rubypanther / to_ascii.rb
Created January 14, 2012 10:01
FICS paste cleaner utility
#!/usr/bin/env ruby
FICS_LIMIT = 400
if RUBY_VERSION < '1.9'
require 'iconv'
def conv str
Iconv.conv("US-ASCII//TRANSLIT//IGNORE","UTF-8", str)
end
else
def conv str
@rubypanther
rubypanther / sort_array_of_strings.rb
Created October 27, 2011 23:59
Sort an array of strings by their first word and then their first number
%w/ foo11 foo2 3foo foo4 bar2 foo1 bar99-a /.sort do |a,b|
[a[/[[:alpha:]]+/],a[/[[:digit:]]+/]] <=>
[b[/[[:alpha:]]+/],b[/[[:digit:]]+/]]
end
@rubypanther
rubypanther / bench.rb
Created October 20, 2011 03:04
Benchmark DecNumber vs Decimal vs BigDecimal vs Float
#!/usr/bin/env ruby
require 'decimal'
require 'bigdecimal'
require 'dec_number'
require 'benchmark'
include Benchmark
n = 123.58132134
m = Math::PI
bm(6) do |x|
x.report("dec_number") do
@rubypanther
rubypanther / indent_chomp.rb
Created March 31, 2011 03:20
remove extra indentation
#!/usr/bin/env ruby
data = if file = ARGV.shift
File.open(file).read
else
<<DATA
command "simple-prompt", "Toggle the simple prompt." do
case Pry.active_instance.prompt
when Pry::SIMPLE_PROMPT
Pry.active_instance.prompt = Pry::DEFAULT_PROMPT
digraph G {
size = "5,5"; node[fontsize=16];
struct3 [shape=record,label="hello\nworld |{ b |{c|<here> d|e}| f}| g | h"];
// incoming
client -> server;
server -> client;
}
@rubypanther
rubypanther / application.rb
Created February 25, 2011 10:31
Monkey patch to make postgres views work with rails 3.x
class ApplicationController < ActionController::Base
require 'postgresql_view_monkey'
end