Skip to content

Instantly share code, notes, and snippets.

View sxross's full-sized avatar

s.ross sxross

View GitHub Profile
@sxross
sxross / core_helpers.rb
Created January 13, 2013 23:51
RubyMotion Extension I Can't Get To Work
class String
def add_formatted(str, format = '%s')
return self if str.nil?
self << format % str if str.length > 0
self
end
def to_us_phone
phone = self.dup.gsub(/[^\d]/, '')
last = phone[-4..-1]
@sxross
sxross / mixin-template.rb
Created October 21, 2012 06:14
A Template for Building a Mixin
module MixinTemplate
def self.included(base)
base.extend(ClassMethods)
base.instance_variable_set('@my_data', [])
end
module ClassMethods
...
end
@sxross
sxross / save_cancel_toolbar.rb
Created August 12, 2012 17:15
UIToolbar Subclass to Include Save and Done Buttons
class SaveCancelToolbar < UIToolbar
attr_writer :delegate
def initWithFrame frame, andTitle: title
super
items = []
spacer = UIBarButtonItem.alloc.initWithBarButtonSystemItem(UIBarButtonSystemItemFlexibleSpace, target:nil, action:nil)
@cancel_button = UIBarButtonItem.alloc.initWithBarButtonSystemItem(UIBarButtonSystemItemCancel, target:self, action:'on_cancel:')
@sxross
sxross / backbone_render.coffee
Created December 8, 2011 22:05
Backbone render
SONG_TEMPLATE = '''
<table>
{{#if songs.length }}
{{#each songs}}
<tr><td>{{ this.name }}</td><td>{{ this.duration }}</td></tr>
{{/each}}
{{/if}}
</table>
'''
@sxross
sxross / index.html.haml
Created November 28, 2011 21:20
Index for Backbone Example
- content_for :head do
%title The Middleman!
%h1 The Middleman is watching.
#band-app
%table#band-list
%thead
%tr
%td
%a#sort-name{:href => '#'}
@sxross
sxross / layout.haml
Created November 28, 2011 18:21
Layout Haml File
!!!5
%html
%head
%meta{:charset => "utf-8"}
// Always force latest IE rendering engine (even in intranet) & Chrome Frame
%meta{:content => "IE=edge,chrome=1"}
%meta{"http-equiv" => "X-UA-Compatible"}
= stylesheet_link_tag "site.css"
= javascript_include_tag "https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"
@sxross
sxross / new_model_object.coffee
Created November 28, 2011 18:12
Creating a Single Backbone.js Model Object
aSingleBand = new Band(name: 'Foo Fighters')
@sxross
sxross / mm_init.sh
Created November 27, 2011 21:36
Initializing Middleman Project
$ mm-init my_fine_project
create my_fine_project/config.rb
create my_fine_project/source/index.html.erb
create my_fine_project/source/layout.erb
create my_fine_project/source/stylesheets
create my_fine_project/source/stylesheets/site.css.scss
create my_fine_project/source/javascripts
create my_fine_project/source/images
@sxross
sxross / band.js
Created November 27, 2011 20:00
Band Model (Backbone.js / Coffeescript)
$ ->
bands = null
class Band extends Backbone.Model
initialize: ->
console.log "initializing model #{@inspect()}"
inspect: ->
console.log "inspect"
s = []
@sxross
sxross / install_coffeescript.sh
Created November 27, 2011 19:30
Homebrew Install Coffeescript
$ brew install coffee-script
==> Downloading http://github.com/jashkenas/coffee-script/tarball/0.9.2
######################################################################## 100.0%
==> ./bin/cake --prefix /usr/local/Cellar/coffee-script/0.9.2 install
/usr/local/Cellar/coffee-script/0.9.2: 33 files, 556K, built in 2 seconds