Skip to content

Instantly share code, notes, and snippets.

View cymen's full-sized avatar

Cymen Vig cymen

  • Vig Consulting, LLC
  • Remote
View GitHub Profile
@cymen
cymen / 0-readme.md
Created April 15, 2012 04:48
ruby-1.9.3-p125 cumulative performance patch.

Patched ruby 1.9.3-p125 for 30% faster rails boot

What is?

This script installs a patched version of ruby 1.9.3-p125 with patches to make ruby-debug work again (#47) and boot-time performance improvements (#66 and #68), and runtime performance improvements (#83 and #84). It also includes the new backported GC from ruby-trunk.

Huge thanks to funny-falcon for the performance patches.

class Person < Base
hash_attr_accessor :name, :phone
end
class Example
def convert(arg1, arg2, arg3)
# do something
return arg3
end
end
require './example'
describe Example do
it "can mock convert and return the 3rd argument" do
example = Example.new
example.stub(:convert)
example.should_receive(:convert).with(any_args()).and_return { |*args| args[2] }
result = example.convert('a', 'b', 'c')
result.should eq('c')
class Person
attr_accessor :name, :phone
def initialize hash
@name = hash['name']
@phone = hash['phone']
end
end
class Base
def self.hash_attr_accessor(*accessors)
accessors.each do |m|
define_method(m) do
@attributes[m]
end
define_method("#{m}=") do |value|
@attributes = {} if @attributes.nil?
@cymen
cymen / rails-fixtures.js
Created May 15, 2012 02:50
Jasmine fixtures path for Rails
$(function() {
jasmine.getFixtures().fixturesPath = '../../../app/views';
})
describe("ContactEdit", function() {
beforeEach(function() {
loadFixtures('contacts/_edit.html.erb');
...
public static class MyObjectManagerExtensions
{
public static IEnumerable<selectlistitem> AsSelectList(this IEnumerable<myobject> list, int? value)
{
return (from item in list
select new SelectListItem
{
Selected = value.HasValue && item.Id == value.Value,
Text = item.Name,
Value = item.Id.ToString()
using System;
using System.Collections.Generic;
namespace ApacheMimeTypes
{
class Apache
{
public static Dictionary<string, string> MimeTypes = new Dictionary<string, string>
{
{ "123", "application/vnd.lotus-1-2-3" },