Skip to content

Instantly share code, notes, and snippets.

View minimul's full-sized avatar
🎯
Focusing

Christian Pelczarski minimul

🎯
Focusing
View GitHub Profile
@minimul
minimul / jobs_spec.rb
Created April 4, 2020 14:01
Recording a VCR Cassette of a Background Job in Rails 5.2 and Rails 6
VCR.use_cassette 'qbo/send/job/create_entities_multi_employee', record: :none do
perform_enqueued_jobs do
ProcessImportFileJob.perform_now(import_file.id)
end
end
class Account < ApplicationRecord
# ......
validates :name, presence: true, uniqueness: { case_sensitive: false } validates :name, presence: true, uniqueness: { case_sensitive: false }
def create(user:)
account_groups.create(user: user)
ENV['RAILS_ENV'] ||= 'test'
require_relative '../config/environment'
require 'rails/test_help'
require 'capybara/rails'
require 'capybara/minitest'
require_relative 'helpers/session'
require_relative 'helpers/screenshot'
Capybara.asset_host = 'http://127.0.0.1:3000'
# sm- prefixed Heroicons are solid so use 'fill-current' to color
inline_svg_tag 'icons/sm-user.svg', class: "fill-current h-5 w-5 text-red-400"
# md- prefixed Heroicons are outlined so use 'stroke-current' to color
inline_svg_tag 'icons/md-plus-circle.svg', class: "stroke-current h-4 w-5 text-green-400"
# Use this setup block to configure all options available in SimpleForm.
require_relative '../../app/helpers/tailwind_helper'
SimpleForm.setup do |config|
config.error_notification_class = 'alert alert-danger'
config.button_class = 'btn btn-default'
config.boolean_label_class = nil
include TailwindHelper
config.wrappers :vertical_form, tag: 'div', class: "mt-6", error_class: 'has-error' do |b|
<div class="min-h-screen bg-gray-50 flex flex-col justify-center py-12 sm:px-6 lg:px-8">
<div class="sm:mx-auto sm:w-full sm:max-w-md">
<%= inline_svg_tag 'full-logo', class: "mx-auto h-12 w-auto" %>
<h2 class="mt-6 text-center text-3xl leading-9 font-extrabold text-gray-900">
<%= controller_name == 'sessions' ? 'Log in to your account' : 'Sign up for a new account' %>
</h2>
</div>
<div class="mt-8 sm:mx-auto sm:w-full sm:max-w-md">
<div class="bg-white py-8 px-4 shadow sm:rounded-lg sm:px-10">
<%= render 'devise/shared/form_shell', captured: capture { %>
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<div class="field">
<%= f.label :email, class: tw_label %>
<%= tw_form_field_wrap f.email_field :email, autofocus: true, autocomplete: "email", class: tw_field %>
</div>
<div class="field">
<%= f.label :password, class: tw_label %>
<%= render 'devise/shared/form_shell', captured: capture { %>
<%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
<%= render "devise/shared/error_messages", resource: resource %>
<div>
<%= f.label :email, class: tw_label %>
<%= tw_form_field_wrap f.email_field :email, autocomplete: "email", required: true, autofocus: true, class: tw_field %>
</div>
<%= f.fields_for :account, f.object.account || Account.new do |a| %>
@minimul
minimul / w3m-smart-urls.sh
Created February 8, 2020 14:19
Elinks smart URL for w3m in bash functions
function go-base {
url=$1
echo $url
shift
args=$@
params="$(ruby -r cgi -e 'puts CGI.escape(ARGV[0])' "$args")"
url=$(printf $url "$params")
cmd="w3m \"$url\""
eval $cmd
}
@minimul
minimul / oauth2.rb
Last active June 4, 2020 13:39
QBO OAuth2 Helper Methods
module Qbo
module OAuth2
# gist id => a2c270ae5c5008326aae16c03a3b810b
def self.renew!(q)
cl = client
cl.refresh_token = q.refresh_token
if resp = cl.access_token!
attrs = { access_token: resp.access_token, refresh_token: resp.refresh_token }.merge(expires_in)
q.update!(attrs)