Skip to content

Instantly share code, notes, and snippets.

@pullmonkey
pullmonkey / gist:1371360
Created November 16, 2011 20:56
formgen_sample_new
<h1>New foo</h1>
<%= render 'form' %>
<%= link_to 'back', :back %>
@pullmonkey
pullmonkey / gist:1371354
Created November 16, 2011 20:55
formgen sample helper
module FooSetupHelper
def setup_foo(obj)
obj.build_baz if obj.baz.blank?
obj.bars.build if obj.bars.empty?
return obj
end
def build_select_list(assoc, options={})
name = options[:name] || "name"
scope = options[:scope] || "all"
@pullmonkey
pullmonkey / gist:1369234
Created November 16, 2011 04:27
formgen generated files
rails generate skizmo:form Foo
With Foo.rb (model like this):
class Foo < ActiveRecord::Base
has_many :bars
belongs_to :baz
accepts_nested_attributes_for :bars
accepts_nested_attributes_for :baz
end
@pullmonkey
pullmonkey / gist:1366175
Created November 15, 2011 04:46
azilink
#!/bin/sh
adb forward tcp:41927 tcp:41927
sudo cp /etc/resolv.conf /etc/resolv.conf.azilink.bak
sudo cp /path/to/resolv.azilink /etc/resolv.conf
sudo openvpn /path/to/azilink.ovpn
@pullmonkey
pullmonkey / gist:1366168
Created November 15, 2011 04:43
resolv.azilnk
domain lan
search lan
nameserver 192.168.56.1
@pullmonkey
pullmonkey / gist:1361597
Created November 13, 2011 04:29
AndroidManifest for Hello Android pindah app
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.android.hello_world"
android:versionCode="1"
android:versionName="1.0">
<application android:label="@string/app_name"
android:debuggable="true"
android:icon="@drawable/ic_launcher">
<activity android:name=".HelloWorld"
@pullmonkey
pullmonkey / gist:1361596
Created November 13, 2011 04:28
hello android tutorial in mirah/pindah
package com.example.android.hello_world;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
class HelloWorld < Activity
def onCreate(state:Bundle)
super state
tv = TextView.new(self)
@pullmonkey
pullmonkey / gist:1353088
Created November 9, 2011 21:23
consolidate a sequence of concurrent numbers with hyphens
# take list of 1,2,3,5,6,7,10 and turn into 1-3,5-7,10
def self.consolidate_pdsh_values(vals)
# vals is an array
# Examples:
# 005,006,007,008,009,010,011,012 => 005-0012
# 123,4,5,6,7,8,9,10,11,12,1234,1235,1236 => 4-12,123,1234-1236
sorted_vals = vals.sort{|a,b| a.to_i <=> b.to_i}
skipped_vals = sorted_vals.each_with_index.map do |x,i|
# replace with "-" if we are in the middle of a set of concurrent numbers
(i > 0 and i + 1 < sorted_vals.size and # make sure we are in bounds
@pullmonkey
pullmonkey / gist:1322591
Created October 28, 2011 15:49
VIN API - ignore checksum validation
# first without ignoring the checksum, you'll see that we get an error
>> VinApi.find("VIN WITH BAD CHECKSUM GOES HERE")
=> #<VinApi @prefix_options={}, @attributes={"error"=>"Vin did not pass checksum test"}>
# next ignoring the checksum, we get our data
>> VinApi.find("VIN WITH BAD CHECKSUM GOES HERE", :params => {:ignore_checksum => "true"})
=> #<VinApi @prefix_options={}, @attributes={"body_style"=>"Coupe", "model"=>"ACCORD EX", "country"=>"USA", "world_region"=>"North America", "engine_type"=>"FWD", "vin"=>"VIN WITH BAD CHECKSUM GOES HERE", "transmission"=>"Automatic", "make"=>"Honda", "year"=>"2003"}>
@pullmonkey
pullmonkey / trigger_capybara_js_change_event.rb
Created March 3, 2011 22:47
capybara celerity driver does not trigger JS change event
When /^(?:|I )select "([^"]*)" from "([^"]*)"(?: within "([^"]*)")?$/ do |value, field, selector|
with_scope(selector) do
select(value, :from => field)
# this is what changed .. 1) need to find the ID of the field that was passed in and then trigger a change event
id = "#" + find_field(field)[:id]
page.execute_script("$('#{id}').trigger('change');")
end
end