Skip to content

Instantly share code, notes, and snippets.

View Gowiem's full-sized avatar
🌤️
Stoked on Terraforming

Matt Gowie Gowiem

🌤️
Stoked on Terraforming
View GitHub Profile
{{!-- app/templates/accept-invitation.hbs --}}
{{#bs-form model=model onSubmit=(route-action "submit" model) as |f|}}
{{f.element controlType="password" label="Password" placeholder="Password" property="password" required=true}}
{{f.element controlType="password" label="Password Confirmation" placeholder="Password Confirmation" property="password_confirmation" required=true}}
{{bs-button defaultText="Submit" type="primary" buttonType="submit"}}
{{/bs-form}}
// frontend/app/routes/accept-invitation.js
import Ember from 'ember';
import config from '../config/environment';
const { inject: { service }, isEmpty } = Ember;
export default Ember.Route.extend({
session: service('session'),
beforeModel() {
if (this.get('session.isAuthenticated')) {
// frontend/app/router.js
import Ember from 'ember';
import config from './config/environment';
const Router = Ember.Router.extend({
location: config.locationType,
rootURL: config.rootURL
});
Router.map(function() {
# backend/config/routes.rb
Rails.application.routes.draw do
devise_for :users, controllers: { invitations: 'users_invitations' }
# ...
root to: 'application#root'
end
# backend/app/controllers/users_invitations_controller.rb
class UsersInvitationsController < Devise::InvitationsController
before_action :configure_permitted_parameters
# ...
private
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:accept_invitation, keys: [:first_name, :last_name])
# backend/app/controllers/users_invitations_controller.rb
class UsersInvitationsController < Devise::InvitationsController
def edit
sign_out send("current_#{resource_name}") if send("#{resource_name}_signed_in?")
set_minimum_password_length
resource.invitation_token = params[:invitation_token]
redirect_to "http://localhost:8080/users/invitation/accept?invitation_token=#{params[:invitation_token]}"
end
# backend/app/controllers/users_invitations_controller.rb
class UsersInvitationsController < ApplicationController
end
@Gowiem
Gowiem / accept-invitation.hbs
Created June 3, 2017 10:24
DeviseInvitable + Rails API + Ember Code Blocks
{{!-- app/templates/accept-invitation.hbs --}}
{{#bs-form model=model onSubmit=(route-action "submit" model) as |f|}}
{{f.element controlType="password" label="Password" placeholder="Password" property="password" required=true}}
{{f.element controlType="password" label="Password Confirmation" placeholder="Password Confirmation" property="password_confirmation" required=true}}
{{bs-button defaultText="Submit" type="primary" buttonType="submit"}}
{{/bs-form}}
@Gowiem
Gowiem / haproxy_acls.conf
Created February 24, 2016 21:53
ACLs in Haproxy
# path_sub, path_beg, path_end are the ones I'll likely want to use again.
# ACL Docs: https://cbonte.github.io/haproxy-dconv/configuration-1.5.html#7.1
acl sync_req path_sub config_settings
redirect prefix https://artisantools.com if sync_req
@Gowiem
Gowiem / rack_stats.rb
Created February 16, 2016 18:03
Rack Middleware for collecting Rails stats on Controller, Action, and Global response times and response code
# Heavily inspired by:
# scout_statsd_rack -- https://github.com/scoutapp/scout_statsd_rack/blob/master/lib/scout_statsd_rack.rb
# trashed -- https://github.com/basecamp/trashed
# Add to Rails App: `config.middleware.use RackStats`
class RackStats
attr_accessor :app
def initialize(app)
@app = app
end