Skip to content

Instantly share code, notes, and snippets.

View dalibor's full-sized avatar

Dalibor Nasevic dalibor

View GitHub Profile
@dalibor
dalibor / Rails model without table
Created November 7, 2009 11:03
Rails model without table
#In app/models/tableless.rb
class Tableless < ActiveRecord::Base
def self.columns
@columns ||= [];
end
def self.column(name, sql_type = nil, default = nil, null = true)
columns << ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default,
sql_type.to_s, null)
end
@dalibor
dalibor / Gemspec file template
Created January 6, 2010 22:17
Gemspec file template
#
# Reference: http://rubygems.rubyforge.org/rdoc/Gem/Specification.html
#
# Another reference, which displays all of the defaults and shows useful
# examples: http://docs.rubygems.org/read/chapter/20
#
Gem::Specification.new do |s|
# This gem’s name. Required.
s.name = 'my-gem'
@dalibor
dalibor / require tree
Created January 31, 2010 09:05
Track requires order
$rlevel = []
alias :orig_require :require
def require(file)
puts "#{$rlevel.join}#{file}"
$rlevel << "-"
req = orig_require(file)
$rlevel.pop
req
end
@dalibor
dalibor / gist:293474
Created February 3, 2010 08:26
JavaScript Micro-Templating
// Simple JavaScript Templating
// John Resig - http://ejohn.org/ - MIT Licensed
// http://ejohn.org/blog/javascript-micro-templating/
(function(){
var cache = {};
this.tmpl = function tmpl(str, data){
// Figure out if we're getting a template, or if we need to
// load the template - and be sure to cache the result.
var fn = !/\W/.test(str) ?
cache[str] = cache[str] ||
@dalibor
dalibor / perform_action_without_rescue hack.rb
Created April 17, 2010 16:37 — forked from soey/perform_action_without_rescue hack.rb
restful_authentication features webrat fix
#Change this:
ActionController::Base.class_eval do
def perform_action
perform_action_without_rescue
end
end
#to:
@dalibor
dalibor / ip_array_search.rb
Created April 23, 2010 06:53
IP array search
ip = 12
arr = [1, 3, 5, 7, 9, 10, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 34, 35, 36]
index = arr.length
min = 0; max = arr.length
while (min + 1 != max) do
index = (min + max) / 2
if ip < arr[index]
max = index
else
var currentMedia = false;
// Get photo
Ti.Media.showCamera({
mediaTypes: [Ti.Media.MEDIA_TYPE_PHOTO],
success: function(event) {
var cropRect = event.cropRect;
currentMedia = event.media;
},
error:function(error) {
Then /^(.+) and I confirm dialog box$/ do |step|
bypass_confirm_dialog
Then step
end
@dalibor
dalibor / rails_3_1_beta_1_changes.md
Created May 24, 2011 07:46 — forked from ryanb/rails_3_1_rc4_changes.md
The Changelogs for Rails 3.1 Beta 1

Railties 3.1 Beta 1

  • The -j option of the application generator accepts an arbitrary string. If passed "foo", the gem "foo-rails" is added to the Gemfile, and the application JavaScript manifest requires "foo" and "foo_ujs". As of this writing "prototype-rails" and "jquery-rails" exist and provide those files via the asset pipeline. Default is "jquery". [fxn]

  • jQuery is no longer vendored, it is provided from now on by the jquery-rails gem. [fxn]

  • Prototype and Scriptaculous are no longer vendored, they are provided from now on by the prototype-rails gem. [fxn]

  • The scaffold controller will now produce SCSS file if Sass is available [Prem Sichanugrist]

@dalibor
dalibor / Redis console
Created December 28, 2011 15:09
Redis console example
# redis-cli -p 6379
redis 127.0.0.1:6379> SET visits 1
OK
redis 127.0.0.1:6379> GET visits
"1"
redis 127.0.0.1:6379> INCR visits
(integer) 2
redis 127.0.0.1:6379> exit