Skip to content

Instantly share code, notes, and snippets.

View al2o3cr's full-sized avatar

Matt Jones al2o3cr

View GitHub Profile
<def tag="js-wrapper" attrs="convert">
<set-scoped vals="&[]">
<do param="default" />
<% if convert %>
<%= "[#{scope.vals.*.inspect.join(', ')}]" %>
<% else %>
<% scope.retval = scope.vals %>
<% end %>
</set-scoped>
</def>
module Outer
module M
def foo
if self.class.superclass.instance_methods.include?('foo')
super
else
puts 'module foo'
end
end
end
<ul id="menunav">
<% Page.main_pages.each do |page| -%>
<li style="width: 90px;">
<% if page.redirect? -%>
<%= link_to page.navlabel, {:action => page.action_name, :controller => page.controller_name, :name => page.name} -%>
<% else -%>
<%= link_to page.navlabel, view_page_path(page.name) %>
<% unless page.sub_pages.empty? -%>
<ul>
<% page.sub_pages.each do |subpage| -%>
en:
reservations:
messages:
create:
success: "The appointment was created successfully"
error: "Couldn't create the appointment. #{errors}"
update:
success: "Changes to the appointment were saved"
<def tag="page" attrs="title, full-title">
<% full_title ||= "#{title} : #{app_name}" %>
<html merge-attrs>
<head param>
<title param><%= strip_tags full_title %></title>
<stylesheet name="reset" />
<do param="scripts">
<javascript param name="prototype, effects, dragdrop, controls, lowpro, hobo-rapid"/>
<if-ie version="lt IE 7" param="fix-ie6">
<def tag="tabs">
<set-scoped tab-names="&[]" tab-contents="&{}">
<ul class="tabs" merge>
<do param="default" />
</ul>
<do repeat="&scope.tab_names">
<div id="#{this}">
<%= scope.tab_contents[this] %>
</div>
</do>
GC.start
first_count = ObjectSpace.each_object(String) { |x| nil }
def dummy_function
'foo'
end
second_count = ObjectSpace.each_object(String) { |x| nil }
GC.start
second_after_gc_count = ObjectSpace.each_object(String) { |x| nil }
@al2o3cr
al2o3cr / regex_bench.rb
Created April 23, 2011 16:01
Regex benchmarks
require 'benchmark'
nelements = 10
nlines = 10
def repeating_string(base, elements, lines)
(([base]*elements).join(',')+"\n")*lines
end
# test string
@al2o3cr
al2o3cr / gist:5073866
Created March 3, 2013 00:14
Silly SQL trick: computing pi very very inefficiently

Inspired by Postgres: The Bits You Haven't Found:

\set n 1000;

SELECT 4*COUNT(DISTINCT(x, y))/(1.0*:n*:n) AS result FROM generate_series(0,:n) AS x, generate_series(0,:n) AS y WHERE x*x + y*y <= :n*:n;

This uses the simple method of checking every integer-valued point in [0,n] x [0,n] to see if it's inside the circle - the Wikipedia approximations to pi article has more details.

@al2o3cr
al2o3cr / bd_test.rb
Last active January 1, 2016 17:09
Test rounding behavior of BigDecimal
require 'bigdecimal'
def to_decimal(digits, dp)
digits = digits.dup
if dp < -digits.length
digits.unshift(*([nil]*(-digits.length-dp)))
end
digits.insert(dp+digits.length, '.').map { |x| x || '0' }.join
end