Skip to content

Instantly share code, notes, and snippets.

View avdgaag's full-sized avatar

Arjan van der Gaag avdgaag

View GitHub Profile
@avdgaag
avdgaag / issue-completion.vim
Created July 28, 2014 18:26
Autocomplete Github issue numbers from Vim using a custom completion function, Ruby and the Github API.
function! MyOmniFunc(findstart, base)
if a:findstart
let existing = matchstr(getline('.')[0:col('.')-1],'#\d*$')
return col('.')-1-strlen(existing)
endif
ruby << EOF
require 'open-uri'
require 'json'
def issues(repo, token)
@avdgaag
avdgaag / gist:6dc26d8fbba2cd4ce458
Last active August 29, 2015 14:09
Page objects in Ruby for use with Capybara
class ProductForm
attr_reader :page, :form
def initialize(page)
@page = page
@form = page.find('form.new_product')
end
def title=(new_title)
form.fill_in 'product_title', with: new_title
@avdgaag
avdgaag / literate.rb
Created March 4, 2015 20:00
AsciiDoc filter for literate programming-style code blocks.
#!/usr/bin/env ruby
require 'open3'
require 'tmpdir'
module Literate
class Line
INDENT = ''.freeze
def self.indent(str)

Keybase proof

I hereby claim:

  • I am avdgaag on github.
  • I am avdgaag (https://keybase.io/avdgaag) on keybase.
  • I have a public key whose fingerprint is 4F42 6A06 0AD7 FB17 65C7 F164 7109 F6F2 67B5 C31C

To claim this, I am signing this object:

@avdgaag
avdgaag / Ruby regular expression for CamelCase and snake_case.rb
Created January 19, 2009 09:40
Example regular expressions for converting strings to CamelCase or snake_case
original = 'ThisIsAStringInCamelCaseWithNumbersLike12And14'
# Convert a CamelCase string to snake_case
snake_case = original.gsub(/([\w^_](?=[A-Z]))|([a-z](?=\d+))/, '\1\2_').downcase
# Convert a snake_case string to CamelCase
camel_case = snake_case.gsub(/^\w|_\w/) { |match| match[-1,1].upcase }
puts snake_case # => "this_is_a_string_in_camel_case_with_numbers_like_12_and_14"
puts camel_case # => "ThisIsAStringInCamelCaseWithNumbersLike12And14"
@avdgaag
avdgaag / gist:68870
Created February 23, 2009 09:23
TextMate command to reset the dimensions in a HTML IMG element
#!/usr/bin/env ruby -w
# This TextMate command takes an HTML IMG element and re-calculates its size.
# The currently selected image will then get the original dimensions.
# This is useful when you have changed an image and need to reset its dimensions
# in your HTML.
#
# This should work on the selected text or current line and replace the current
# selection. Scope: text.html. Assign a nice keyboard shortcut of your choosing.
#
# Let Ruby ping pingomatic.com
require 'xmlrpc/client'
XMLRPC::Client.new('rpc.pingomatic.com', '/').call('weblogUpdates.extendedPing', SITE_NAME, SITE_URL, FEED_URL)
@avdgaag
avdgaag / gist:183612
Created September 9, 2009 09:24
Regular expression for finding HTML4 images witout width or height
<img\s+((alt|border|class|id|src|usemap|hspace|vspace)="[^"]+"\s*)+>
@avdgaag
avdgaag / gist:183617
Created September 9, 2009 10:03
Loop through all PHP files and add width and height to images that do not have them
pattern = /<img\s+((alt|border|class|id|src|usemap|hspace|vspace)="[^"]+"\s*)+>/
# Invoke sips to try and find the image's original dimensions
# This returns both the widht and height.
def get_original_size_for(image)
output = %x{sips -g pixelWidth -g pixelHeight "#{image}"}
if output.scan(/pixelWidth:[^\d]*(\d+).*pixelHeight:[^\d](\d+)/im)
return $1, $2
else
exit_show_tool_tip "Could not get image size from #{output.inspect}"
@avdgaag
avdgaag / gist:189868
Created September 20, 2009 18:10
When you are desperate and need to replace special characters across an entire wordpress database, here's one way of generating the right SQL statements to do that.
terms = {
'ë' => 'ë'
}
{
'wp_posts' => %w{post_content post_title post_excerpt},
'wp_comments' => %w{comment_author comment_author_url comment_content},
'wp_terms' => %w{name},
'wp_term_taxonomy' => %w{description}
}.each_pair do |table, columns|
columns.each do |column|