Skip to content

Instantly share code, notes, and snippets.

View shamil614's full-sized avatar

scott hamilton shamil614

View GitHub Profile
@shamil614
shamil614 / string_chunk_by_words.rb
Created October 12, 2012 17:34
Split up a string by words using a character limit.
class String
def chunk_by_words(char_count)
words = self.split
s1_len = 0
word_count = 0
i = 0
while (i <= words.count-1)
s1_len += words[i].length
word_count += 1
i+=1
@shamil614
shamil614 / find_all_between_to_dates
Created April 6, 2012 17:59
Find between two dates
Object.find(:all, :conditions => ["created_at >= ? and created_at < ?", "#{DateTime.now.strftime("%Y-%m-%d")}", "#{(DateTime.now + 1).strftime("%Y-%m-%d")}"])
@shamil614
shamil614 / load_all_models_look_for_user.rb
Created April 5, 2012 19:12
Load all Models and iterate to see if user_id column exists
# Applies to Rails 2.3
# Since Rails doesn't load classes unless it needs them, you must read the models from the folder. Here is the code
Dir[Rails.root.to_s + '/app/models/**/*.rb'].each do |file|
begin
require file
rescue
end
end
Object.subclasses_of(ActiveRecord::Base).each do |model|
@shamil614
shamil614 / paginate_linkedin_results.rb
Created April 2, 2012 22:48
Paginate LinkedIn Gem Search Results
def paginate_linkedin_results(object,per_page=20)
# start = if params[:start] then params[:start] else count end
@total = object.total
@count = if object._count then object._count else per_page end
@start = if object._start then object._start else 0 end
@total_pages = (@total/per_page.to_f).ceil
url = if params[:start] then request.url else request.url + '&start=0' end
if @start <= 0
html_prev = content_tag("span", " << Prev ", :class => 'prev_page disabled')
@shamil614
shamil614 / bootstrap_form_builder.rb
Created February 20, 2012 22:15 — forked from cbmeeks/bootstrap_form_builder.rb
Twitter Bootstrap 2.0 Form Builder & Devise
class BootstrapFormBuilder < ActionView::Helpers::FormBuilder
delegate :capture, :content_tag, :tag, to: :@template
%w[text_field text_area password_field collection_select email_field].each do |method_name|
define_method(method_name) do |name, *args|
errors = object.errors[name].any?? " error" : ""
error_msg = object.errors[name].any?? content_tag(:span, object.errors[name].join(","), class: "help-inline") : ""
content_tag :div, class: "control-group#{errors}" do
@shamil614
shamil614 / escape_single_quotes.rb
Created December 15, 2011 19:10
Escape single quotes
class String
def escape_single_quotes
self.gsub(/[']/, '\\\\\'')
end
end
@shamil614
shamil614 / split_string_on_spaces.rb
Created November 22, 2011 20:49
Split string on spaces helper
def split_on_spaces(text,limit,wrapper_id_short=nil,wrapper_id_long=nil)
results = text.split(' ')
i = 0
short_p = ""
long_p = ""
while short_p.length < limit && i <= results.count - 1
short_p << results[i] + ' '
i+= 1
end
rem = results[i..results.count-1]
@shamil614
shamil614 / split_paragraphs.rb
Created November 22, 2011 19:54
Split paragraph helper
def split_paragraphs(text,limit,wrapper_id_short=nil,wrapper_id_long=nil)
results = text.scan(/<p>.*?<\/p>/)
i = 0
length = 0
short_p = ""
while length < limit && i <= results.count - 1
short_p << results[i]
length += results[i].length - 7
i+= 1
end
@shamil614
shamil614 / array_chunk.rb
Created November 3, 2011 21:36
Method to split up / divide an array into other arrays.
class Array
def chunk(pieces=2)
len = self.length;
mid = (len/pieces)
chunks = []
start = 0
1.upto(pieces) do |i|
last = start+mid
last = last-1 unless len%pieces >= i
chunks << self[start..last] || []
@shamil614
shamil614 / imagemagick-resize-crop.sh
Created October 20, 2011 21:16
Imagemagick - Resize and crop
convert original.jpg -resize 200x200^ -gravity Center -crop 200x100+0+0 +repage thumbs.jpg