Skip to content

Instantly share code, notes, and snippets.

View dsandstrom's full-sized avatar

Darrell Sandstrom dsandstrom

View GitHub Profile
@dsandstrom
dsandstrom / authentication.rb
Last active December 12, 2020 06:07
View spec helper for CanCanCommunity/cancancan
# spec/support/authentication.rb
# Enable can? method in view specs for cancancan gem
#
# Example:
#
# ```
# let(:admin) { Fabricate(:user_admin) }
# before { enable_can(view, admin) }
# ```
@dsandstrom
dsandstrom / preview_devise_mail.rb
Last active December 11, 2020 02:33 — forked from ThawanFidelis/preview_devise_mail.rb
Preview Devise Mails
# spec/mailers/previews/devise_mailer_preview.rb
class Devise::MailerPreview < ActionMailer::Preview
def confirmation_instructions
Devise::Mailer.confirmation_instructions(User.first, {})
end
def unlock_instructions
Devise::Mailer.unlock_instructions(User.first, "faketoken")
end
@dsandstrom
dsandstrom / stylelint.yml
Created July 4, 2021 23:24
Stylelint Github Workflow Action
# .github/workflows/stylelint.yml
# Checkout code, install npm/yarn, install js packages, run stylelint
# Set up for rails and stylelint config: stylelint.config.js
name: "Stylelint"
on: [push, pull_request]
jobs:
stylelint:
@dsandstrom
dsandstrom / stylelint.config.js
Created July 4, 2021 23:28
Stylelint Config - scss-lint rules, smacss order
// stylelint.config.js
// SMACSS Ordering
// https://github.com/cahamilton/stylelint-config-property-sort-order-smacss
const sortOrderSmacss = require('stylelint-config-property-sort-order-smacss/generate');
module.exports = {
extends: 'stylelint-config-sass-guidelines',
plugins: ['stylelint-order', 'stylelint-scss'],
@dsandstrom
dsandstrom / init.coffee
Last active May 10, 2022 17:46
atom configs
# surround for ruby string interpolation
atom.commands.add 'atom-text-editor', 'custom:surround-interpolation', ->
return unless editor = atom.workspace.getActiveTextEditor()
editor.transact ->
# TODO: get cursor scope, add quotes if not a string
for selection in editor.getSelections()
text = selection.getText()
return unless text.length
@dsandstrom
dsandstrom / Dockerfile
Last active December 8, 2022 22:13
Dockerfile for Rails app
# Use the barebones version of Ruby 2.2.3.
FROM ruby:2.7.6
# Optionally set a maintainer name to let people know who made this image.
# MAINTAINER
# Install dependencies:
# - build-essential: To ensure certain gems can be compiled
# - nodejs: Compile assets
# - libpq-dev: Communicate with postgres through the postgres gem