Skip to content

Instantly share code, notes, and snippets.

View metalelf0's full-sized avatar

Andrea Schiavini metalelf0

View GitHub Profile
# person.rb
validates_presence_of :address
# blueprints.rb
Person.blueprint do
name { "John" }
surname { "Doe" }
address { Address.make }
def expire_date_minus_one_day
self.expire_date - 1.day
end
def expire_date_minus_one_day= date
self.expire_date = date + 1.day
end
<p>
<%= f.label :expire_date %>
<%= f.date_select :expire_date_minus_one_day %>
</p>
composed_of :expire_date_minus_one_day,
:class_name => 'Date',
:mapping => %w(Date to_s),
:constructor => Proc.new{ |item| item },
:converter => Proc.new{ |item| item }
HostApplication::Application.routes.draw do
devise_for :user,
:class_name => 'Spree::User',
:controllers => { :sessions => 'spree/user_sessions',
:registrations => 'spree/user_registrations',
:passwords => 'spree/user_passwords' },
:skip => [:unlocks, :omniauth_callbacks],
:path_names => { :sign_out => 'logout' }
# ...
end
# create a file in config/initializers, e.g. add_abilities_to_spree.rb,
# with the following content:
Spree::Ability.register_ability MyAppAbility
# create a file under app/models (or lib/) to define your abilities (in
# this example I protect only the HostAppCoolPage model):
class MyAppAbility
include CanCan::Ability
class ApplicationController < ActionController::Base
protect_from_forgery
def current_ability
@current_ability ||= Spree::Ability.new(current_user)
end
rescue_from CanCan::AccessDenied do |exception|
redirect_to :root, :alert => exception.message
end
@metalelf0
metalelf0 / marshal_data_too_short.txt
Created May 10, 2012 09:10
Marshal data too short error on specs
Failures:
1) Spree::Calculator::PerItem correctly calculates per item shipping
Failure/Error: Unable to find matching line from backtrace
ArgumentError:
marshal data too short
# ./app/models/spree/preferences/store.rb:30:in `get'
# ./app/models/spree/preferences/preferable_class_methods.rb:14:in `block in preference'
# ./app/models/spree/preferences/preferable.rb:70:in `block in preferences'
# ./app/models/spree/preferences/preferable.rb:69:in `each'
@metalelf0
metalelf0 / git-commits.rb
Created October 18, 2012 12:54
Git commit daily logger - A ruby script to show your commits on multiple projects, grouped by date
require 'rubygems'
require 'git'
require 'rainbow'
PROJECT_PATHS = %w(
/path/to/your/project
/path/to/another/project
)
EMAIL_ADDRESSES = %w( [email protected] )
@metalelf0
metalelf0 / gist:5361756
Created April 11, 2013 08:39
The FizzBuzz code from the latest Mikamai ruby academy.
class FizzBuzz
CONFIG = { 3 => "Fizz", 5 => "Buzz", 7 => "Bar" }
attr_reader :number
attr_accessor :string
def initialize number
@number = number
@string = ""