So I ran into a bit of code that looked like this:
def my_method
list.each do |item|
return_value = item.some_property
return return_value if return_value
end
nil
end
class String | |
def strip_html! | |
gsub!(/ | |
< | |
\/? # optional end tag | |
([\w:-]+) # tag name (capturing) | |
(?: # optional attribute set (allowing even for end tags) | |
(?: # group for attribute repetition | |
\s+ # mandatory space before first attribute | |
[\w:-]+ # attribute name |
module Tracy | |
def self.included k | |
k.extend ClassMethods | |
end | |
module ClassMethods | |
def method_added m | |
wrap_method(m) | |
end |
class CASServer::Authenticators::SQL < CASServer::Authenticators::Base | |
def validate(credentials) | |
read_standard_credentials(credentials) | |
raise CASServer::AuthenticatorError, "Cannot validate credentials because the authenticator hasn't yet been configured" unless @options | |
raise CASServer::AuthenticatorError, "Invalid authenticator configuration!" unless @options[:database] | |
CASUser.establish_connection @options[:database] | |
CASUser.set_table_name @options[:user_table] || "users" |
So I ran into a bit of code that looked like this:
def my_method
list.each do |item|
return_value = item.some_property
return return_value if return_value
end
nil
end
#!/usr/bin/env ruby | |
require 'yaml' | |
require 'pathname' | |
require 'shellwords' | |
module_url_by_path = Dir['**/.gitmodules'].inject({}) do |h, path| | |
IO.read(path).scan(/^\[submodule .*\].*\n((?:\s+.*\n)+)/).flatten.each do |s_attrs| | |
h_attrs = s_attrs.strip.split(/\n/).inject({}) do |h_attrs, s_attr_line| | |
k, v = s_attr_line.strip.split(/\s+=\s+/, 2) | |
h_attrs[k.to_sym] = v |
#!/opt/local/bin/ruby1.9 | |
require 'yaml' | |
urls = YAML::load <<-STR | |
http://foo.com/blah_blah : http://foo.com/blah_blah | |
http://foo.com/blah_blah/ : http://foo.com/blah_blah/ | |
(Something like http://foo.com/blah_blah) : http://foo.com/blah_blah | |
http://foo.com/blah_blah_(wikipedia) : http://foo.com/blah_blah_(wikipedia) | |
http://foo.com/blah-blah-(wiki-pedia) : http://foo.com/blah-blah-(wiki-pedia) |
require 'yaml' | |
RX = /(\d)(?=\d{3}+(?!\d))/ | |
# Long version | |
RX_LONG = / | |
(\d) # One digit | |
(?= # That is followed by | |
\d{3}+ # One or more triples of digits | |
(?!\d) # That are not followed by a digit |
#!/usr/bin/env ruby1.9 | |
# encoding: UTF-8 | |
# Copyright © 2009 Caio Chassot | |
# Licensed under the WTFPL | |
def alternation(*s); s.map(&Regexp.method(:escape)).join("|") end | |
# All input is read here. | |
LINES = $stdin.readlines | |
IS_SELECTION = ENV.key?("TM_SELECTED_TEXT") |
#!/usr/bin/env ruby -pi | |
# | |
# Copyright © 2010 Caio Chassot | |
# Licensed under the WTFPL <http://sam.zoy.org/wtfpl/COPYING> | |
# | |
# File Trim. (Vertical and Right trim.) | |
# Command receives file paths as arguments. Modifies them in-place. | |
# - removes trailing spaces on every line; | |
# - removes leading and trailing empty lines; | |
# - ensures files end with a line feed. |
$ ack --no-sql --ignore-dir=vendor -l '&\S+?;' | xargs \ | |
ruby1.9 -rhtmlentities -pi -e '$_ = HTMLEntities.new.decode($_)' |