Skip to content

Instantly share code, notes, and snippets.

@firebelly
firebelly / remove_non_ascii.rb
Created December 19, 2011 17:38
simple non-ascii stripping script
# courtesy http://stackoverflow.com/questions/1268289/how-to-get-rid-of-non-ascii-characters-in-ruby
class String
def remove_non_ascii
require 'iconv'
Iconv.conv('ASCII//IGNORE', 'UTF8', self)
end
end
Wiki.all.each { |w|
w.content = w.content.remove_non_ascii
@firebelly
firebelly / dollars_to_big_d.rb
Created December 8, 2011 17:09
simple dollars to decimal conversions in Ruby
def format_as_dollars(c)
unless c.nil?
c = (c * 100).round / 100
"$%.2f" % c
end
end
def decimal_from_currency(c)
if c =~ /\$/
c = c[1, c.length]
@firebelly
firebelly / save-on-fly.rb
Created November 8, 2011 17:42
save the damn thumbs
# load an image from an external URL, create a crop, and save it to disk
# *run from rails console of an app with Dragonfly already initialized at startup
app = Dragonfly[:images]
image = app.fetch_url('http://farm6.static.flickr.com/5277/5890615224_2fb702c22c_b.jpg')
image.process('412x252#').to_file("#{Rails.root}/public/system/images/#{url.split('/').last}")
`open /Users/brandon/webapps/fchapp/public/system/images/5890615224_2fb702c22c_b.jpg`
@firebelly
firebelly / gift_cart_order.rb
Created November 1, 2011 20:48
from the annals of bad old code...
def self.gift_card_total(cart)
amount = 0
date = DateTime.new(2010)
LineItem.find(:all, :include => [:order], :conditions => ["orders.created_at BETWEEN ? AND ?
AND line_items.title = ?", date.beginning_of_year, date.end_of_year, 'Gift Card']).collect{
|item| item.total_price }.each{ |price| amount += price
}
cart.items.each{|item|
@firebelly
firebelly / username.rb
Created November 1, 2011 17:27
uniq usernames for fch
un = nd.collect{|n|] [n[:first_name].to_s[0],n[:last_name],n[:title],n[:org]].compact.join('.').parameterize.split('-')[0,3].join('.') unless n[:title].nil? and n[:last_name].nil? and n[:email].nil?};
@firebelly
firebelly / irbrc-sample
Created November 1, 2011 15:34
run w .irbrc
#!/usr/bin/ruby
# coding: utf-8
require 'rubygems'
require 'wirble'
require 'irb/completion'
# auto-complete
IRB.conf[:AUTO_INDENT] = true
IRB.conf[:USE_READLINE] = true
@firebelly
firebelly / enclosure_length_to_min_sec.rb
Created September 20, 2011 20:04
mp3 enclosure tag length attribute to minutes:seconds
# in => <enclosure url="http://url.com/feed/some_final_url.mp3" length="42102758" type="audio/mpeg"/>
time = ((item.enclosure.length/1024.0) / 16.0)
p [time.to_i/60 % 60, time.to_i % 60].map{|t| t.to_s.rjust(2, '0')}.join(':')
# out => "42:49"
@firebelly
firebelly / media_mover_api_errors.6.x-1.9-beta_6.x-2.0-dev
Created August 5, 2011 13:12
media_mover_api load configuration errors
list configurations:
issue:
error: "call_user_func_array() expects parameter 1 to be a valid callback, function 'media_mover_ui_landing_page' not found or invalid function name in call_user_func_array()"
result: page does not load
add configuration:
issue:
error: "notice: Undefined index: values in media_mover_ui_config_edit_form()"
result: page does not load
@firebelly
firebelly / get_topmost_parent.php
Created May 19, 2011 16:32
get the topmost parent of a wordpress page
<?php
// recursion is our friend here
function get_topmost_parent($post_id){
$parent_id = get_post($post_id)->post_parent;
if($parent_id == 0){
return $post_id;
}else{
return get_topmost_parent($parent_id);
}
@firebelly
firebelly / gist:970719
Created May 13, 2011 15:17
jquery bug in IE for selecting field set to display
$('#exhibitor_exhibitor_registration_level_id').bind('change', function(){
var selected_index = $(this).get(0).selectedIndex;
var type = $(this).get(0).options[selected_index].text.split(':')[0].toLowerCase().trim();
var type_name = type.match(/school/) ? "school" : "business";
$(".entity_name").hide();
$("." + type_name).show();
});