Gadgeto
Collection of ruby code snippets.
Usage
All functionality is loaded issuing:
require 'gadgeto/all'
If you plan to use only a handful of snippets, it is recommended to require explicitly each snippet:
require 'gadgeto/<snippet>'
For example:
require 'gadgeto/dslable' # loads Gadgeto::Dslable
Overview
Gadgeto::Domain
require 'gadgeto/domain'
Gadgeto::Domain.valid?("de") #=> true
Gadgeto::Domain.valid?("test.de") #=> true
Gadgeto::Domain.valid?("-.test.de") #=> false
domain = Gadgeto::Domain.new("m.test.de")
domain.third_level_domain? #=> true
Gadgeto::Dslable
require 'gadgeto/dslable'
class Foo
include Gadgeto::Dslable
include Gadgeto::Dslable::Display
dslable_method :item, :key, '*arguments'
def inspect
attributes[:key]
end
end
f = Foo.new
f.draw do
item 'home', :baem => :bum do
item 'terms'
item 'imprint'
end
item 'products' do
item 'kitchen' do
item 'forks'
end
end
end
f.display :items
f.items[0].attributes[:key] #=> "home"
Gadgeto::Email
require 'gadgeto/email'
Gadgeto::Email.valid?("user@example.com") #=> true
Gadgeto::Email.valid?("user+name@example.com") #=> true
Gadgeto::SanitizeFilename (Module)
require 'gadgeto/sanitize_filename'
obj = Object.new
obj.extend(Gadgeto::SanitizeFilename)
obj.sanitize_filename("foo bar.zip") #=> "foo_bar.zip"
Gadgeto::TimeOfDay
require 'gadgeto/time_of_day'
Gadgeto::TimeOfDay.valid?("09:15") #=> true
t = Gadgeto::TimeOfDay.new("08:30") #=> 08:30
t.hour #=> 8
t.minute #=> 30
t.to_i #=> 480
t.add_minutes(30) #=> 09:00
t1 = Gadgeto::TimeOfDay.new("08:30") #=> 08:30
t2 = Gadgeto::TimeOfDay.new("09:30") #=> 09:30
t1 < t2 #=> true
t1 > t2 #=> false
t1.minutes_till(t2) #=> 60
t1 == t2 #=> false
Gadgeto::VideoUrl
require 'gadgeto/video_url'
Gadgeto::VideoUrl.valid?("http://vimeo.com/11384488") #=> true
Gadgeto::VideoUrl.supported_services #=> [:youtube, :vimeo]
video_url = Gadgeto::VideoUrl.new('http://www.youtube.com/watch?v=0zM3nApSvMg')
video_url.valid? #=> true
video_url.service #=> :youtube
video_url.id #=> "0zM3nApSvMg"