Skip to content

Instantly share code, notes, and snippets.

/home/vagrant/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/hanami-controller-0.6.1/lib/hanami/action/params.rb:106:in `param': undefined method `attribute' for #<Class:0x007ff1fee0ca20> (NoMethodError)
from /home/vagrant/other_projects/wine_clubs/apps/web/controllers/club/create_member.rb:6:in `block in <class:CreateMember>'
from /home/vagrant/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/hanami-controller-0.6.1/lib/hanami/action/validatable.rb:98:in `initialize'
from /home/vagrant/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/hanami-controller-0.6.1/lib/hanami/action/validatable.rb:98:in `new'
from /home/vagrant/.rbenv/versions/2.2.4/lib/ruby/gems/2.2.0/gems/hanami-controller-0.6.1/lib/hanami/action/validatable.rb:98:in `params'
from /home/vagrant/other_projects/wine_clubs/apps/web/controllers/club/create_member.rb:5:in `<class:CreateMember>'
from /home/vagrant/other_projects/wine_clubs/apps/web/controllers/club/create_member.rb:2:in `<module:Club>'
from /home/vagrant/other_projects/wine_clubs/apps/web/c
@daphsta
daphsta / blueprint.md
Created May 30, 2016 03:13
Things you should know after 2 years on the job

Ruby

1. BLOCKS
  • do..end, lambda, yield
2. ENUMERABLES
  • each,inject,collect,compact,concat,count,delete,delete_if,empty?,map,push,reverse,rotate,select,flatten,flat_map
3. CLASSES/METHODS
  • class methods, instance methods , class, modules, private methods, protected methods, instance variables vs class variables
@daphsta
daphsta / Dockerfile.prod
Created September 9, 2015 23:36
Dockerfile for rails in prod
# ---------------------------------------------------------------------------
# This is the Dockerfile to build the prod app image
# ---------------------------------------------------------------------------
FROM 10.150.0.21:5000/base_images/rails:latest
MAINTAINER XXX
ENV REFRESHED_AT 2015-08-07
ENV HOME /app
@daphsta
daphsta / Dockerfile
Created September 9, 2015 23:36
Dockerfile for ruby/rails/mysql
# ---------------------------------------------------------------------------
# This is the Dockerfile to build the base image for ruby/rails/mysql
# ---------------------------------------------------------------------------
FROM debian:jessie
MAINTAINER XXX
ENV REFRESHED_AT 2015-08-07
# ---------------------------------------------------------------------------
@daphsta
daphsta / gist:af6bc83044979dd8796a
Created May 28, 2015 03:47
Things you should know to qualify as a mid-level Ruby on Rails dev
Things you should know to qualify as a mid-level Ruby on Rails dev
Ruby
Metaprogramming
- Dynamic methods, writing DSL, instance_eval(), singleton methods, singleton class
- understanding mixins
Create Ruby Gem
Design Patterns (when to use): Template Method, Strategy, Observer,Composite,Iterator, Commands, Adapter, Proxy, Decorator, Singleton, Factory, Builder
SOLID principles (Single Responsibility Principle, Open/Closed Principle, Leskov Substitution Principle, Interface Segregation Principle, Dependency Inversion Principle)
applying refactoring techniques by using the above principles
Resources: Refactoring by Martin Fowler, Clean Code by Uncle Bob, YOW conference- Kevlin Henney, Sandi Metz- POODR
# app/models/ability.rb
# All front end users are authorized using this class
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new
can :read, :all
@daphsta
daphsta / gist:6246589
Created August 16, 2013 01:54
inbound_controller_spec.rb
require 'spec_helper'
describe InboundController do
describe "reply from support team" do
context "upon creating successful reply " do
before do
@ticket = Ticket.create(sender: "[email protected]", subject: "my phone freezes all the time", body: "my phone freezes after hanging up", status: "new")
post :create, {
headers: {
'To'=> "ticket+#{@ticket.id}@laantern.com",
class InboundController < ApplicationController
require 'mail'
skip_before_filter :verify_authenticity_token
def create
reader = MailReader.new params
if reader.is_internal_reply?