Tag Archive for ruby

Date.now

class Date
class <<self
# I like Time#now, this should have been included into Date
def now; self.new(Time.now.year,Time.now.month,Time.now.day); end
end
end

source

Add class methods for ruby classes

# Extend class methods for any ruby class
class NameofClass
class <<self
# create class methods below
def	magic
#insert your magic code here
end
end
end

# now #magic is available for NameofClass on a class level

source

Parse HTML when reading atom feeds

# re-encode html escaped entities when reading atom feeds
def rss_html_parse(content)
content.gsub!("&lt;","<")
content.gsub!("&gt;",">")
content.gsub!("","")
content
end

source

Bash functions for running rails unit and functional tests

# simple wrappers for running unit and functional tests in rails apps
# INSTEAD OF : ruby test/unit/user_test.rb
# DO THIS : test_unit user
test_unit () {
if [[ -n "$1" ]]; then
ruby test/unit/$1_test.rb;
else
"USAGE : test_unit [name_of_test]"
fi
}

# INSTEAD OF : ruby test/functional/users_controller_test.rb
# DO THIS : test_func user
test_func () {
if [[ -n "$1" ]]; then
ruby test/functional/$1_controller_test.rb;
else
"USAGE : test_func [name_of_test]"
fi
}

source

Load SVN info into hash

YAML::load(`svn info`)

source

Ruby One-liner for Restoring One Table from a Huge SQL Dump

ruby -ne '@found=true if $_ =~ /^CREATE TABLE `foo`/i; next unless @found; exit if $_ =~ /^CREATE TABLE (?!`foo`)/i; puts $_;' giant_sql_dump.sql > foo.sql

source

print random lorem sentence

#!/usr/bin/env ruby -wKU

copy_to_use = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec leo tellus, ornare ac, molestie eu, suscipit non, urna. Sed in felis. Vivamus justo dui, tempus vel, blandit sed, placerat sit amet, nunc. Praesent rhoncus quam nec risus. Etiam eu nulla eu sapien ultrices hendrerit. Nulla et metus ac ipsum vulputate varius. Nullam nec mauris nec nulla ornare fermentum. In a libero. Aliquam erat volutpat. Ut ornare. Ut nec libero a metus posuere tincidunt. Sed sed arcu. Maecenas lobortis, massa sit amet convallis eleifend, neque erat commodo sapien, ut varius dolor quam vitae lorem. In tellus. Nam eu dolor. Aliquam erat volutpat. Nulla eu arcu. Mauris dignissim, neque egestas rhoncus feugiat, magna diam varius elit, ut hendrerit diam sapien vel velit. Donec lobortis. Aenean mattis turpis sed odio. Donec suscipit lectus quis felis. In hac habitasse platea dictumst. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nam interdum. Nulla facilisi. Donec facilisis. Phasellus tristique. Vestibulum pellentesque felis nec dui. Mauris dolor odio, mollis et, sollicitudin vitae, facilisis sed, enim. Duis velit. Nullam a augue. Aliquam erat volutpat. Aenean ut magna nec dui congue congue. Maecenas sagittis nisl ut neque. Nam facilisis urna sed purus luctus congue. Morbi interdum, ligula non ullamcorper faucibus, purus ipsum fermentum neque, in viverra nisi ante at turpis. Ut molestie gravida sapien. "

sentence = copy_to_use.split(". ")

random_sentence = sentence.sort_by{ rand }

print random_sentence[0] + "."

source

Simple Example of Threading in Ruby

def func1
i = 0
while i <= 5
puts "func1 at: #{Time.now}"
sleep(2)
i = i + 1
end
end
def func2
i = 0
while i <= 5
puts "func2 at: #{Time.now}"
sleep(1)
i = i + 1
end
end

puts "Start at: #{Time.now}"
t1 = Thread.new{func1()}
t2 = Thread.new{func2()}
t1.join
t2.join
puts "End at: #{Time.now}"

source

How to iterate through an array in Ruby

#A. Create an array
names = %w[chris sandy josie billy suzie]

#B. Find the length of the array and iterate through it
names.length.times do |i|
puts i.to_s + " " + names[i]
end

source

Converting an array into YAML, Loading YAML into an array

#A. Import the YAML Library
require 'yaml'
#B. Create an array
names = %w[chris sandy josie billy suzie]

#Example 1 : Converting an array into YAML using: to_yaml
yaml_example1 = names.to_yaml
puts yaml_example1

#Example 2: Converting an array into YAML using: dump()
yaml_example2 = YAML::dump(names)
puts yaml_example2

#Example 3: Loading YAML back into an array using: load()
array_example = YAML::load(yamloutput2)
puts array_example

source