Ruby sample scripts - advanced (miscellaneous)

Submitted by Chandrashekar Babu on August 15, 2010 - 3:57pm.
::

escape-elements.rb

require 'cgi'

str = "<html><h1>This is 'a' <i>test</i> string</h1></html>"
puts str
puts CGI.escapeElement(str, "h1", "html")
puts CGI.escapeHTML(str)



input-timeout.rb

require 'thread'

puts "Enter your name: "

catch (:timeout) do
timeout_thread = Thread.new do
5.times do
sleep 1
print "."
STDOUT.flush
end
puts "-- TIMEOUT --"
exit -1
throw :timeout
end
name = gets
puts "Hello " + name
end




marshal-retrieve.rb

require 'Person'

File.open("marshalled.bin") do |data|
p = Marshal.load(data)
puts p.name
end




marshal-test.rb

require 'Person'

p = Person.new
p.name = "Smith"
p.age = 15
p.city = "Bengaluru"

p2 = Person.new
p2.name = "Sam"
p2.age = 10
p2.city = "Chennai"

file = File.new("marshalled.bin", "w")

data = Marshal.dump(p)
file.puts(data)

data = Marshal.dump(p2)
file.puts(data)

file.close



pstore-retrieve.rb

require 'Person'
require 'pstore'

store = PStore.new("object.bin")

store.transaction do
p = store['1']
p2 = store["aaa"]

puts "Person 1: name -> #{p.name}, age -> #{p.age}"
puts "Person 2: name -> #{p2.name}, age -> #{p2.age}"
end




pstore-test.rb

require 'Person'
require 'pstore'

p = Person.new
p.name = "Smith"
p.age = 15
p.city = "Bengaluru"

p2 = Person.new
p2.name = "Sam"
p2.age = 10
p2.city = "Chennai"

store = PStore.new("object.bin")

store.transaction do
store['1'] = p
store['aaa'] = p2
end




test-mymodule.rb

require 'MyModules/Test'

MyModules::Test.foo


url-escape.rb

require 'cgi'

url = "http://www.chandrashekar.info/q=' sfdgdsfg &%# @' "

puts url
new_url = CGI.escape(url)
puts new_url




user-agent-test.rb

require 'net/http'

request = Net::HTTP.new("www.chandrashekar.info", 80)
response, data = request.get("/contact", nil)

#response.each {|line| puts line }
puts data