Skip to content

Instantly share code, notes, and snippets.

Avatar

David Leal david

  • Mojo Tech
  • Portugal
View GitHub Profile
View keybase.md

Keybase proof

I hereby claim:

  • I am david on github.
  • I am ior3k (https://keybase.io/ior3k) on keybase.
  • I have a public key ASBbodNQqd82cVPZDoWoCHsQmot1YntaLfvO6Yc6T-RzHQo

To claim this, I am signing this object:

View custom_plan.rb
require 'zeus/rails'
class CucumberPlan < Zeus::Rails
def cucumber_environment
require 'cucumber/rspec/disable_option_parser'
require 'cucumber/cli/main'
@cucumber_runtime = Cucumber::Runtime.new
end
def cucumber(argv=ARGV)
View signup.feature.md

Signup

Users need to sign up to use our app because [purpose]. We don't want to scare users with a long form though, so we'll simply ask for the minimum information. In our case that's the name, email and a password.

We don't ask users to confirm the password because they can easily reset it using the Forgot Password? link.

When a user signs up successfully, they will be sent to the dashboard. We will send them an email confirming the sign up.

Example: Successful signup
  Given I am a visitor
View assertions.rb
module Assertions
def demand(&block)
block.call or raise ConditionFailed
end
def promise(&block)
tap { |o| yield o or raise ConditionFailed }
end
def refuse(&block)
View alternative_1.rb
# admin/real_estate_companies.rb
ActiveAdmin.register RealEstateCompany do
form do |f|
f.inputs do
f.input :vendors, collection: Vendor.sorted_by_name
end
end
end
# models/vendor.rb
View outcome.rb
class Outcome
HANDLER = "if_"
HANDLER_RX = /^#{HANDLER}/
QUERY_RX = /\?$/
def self.new(result, *args, &b)
super.tap { |o| yield o if block_given? }
end
def initialize(result, *args)
View collection.rb
class PersistentCollection
def initialize(klass)
@klass = klass
end
# ...
end
# This should be reusable
class ScopedCollection
View gist:3312585
module MyMixin
def say_hello
"hello!"
end
end
Object.new.extend(MyMixin).say_hello #=> "hello!"