Skip to content

Instantly share code, notes, and snippets.

View billguy's full-sized avatar

David John billguy

View GitHub Profile
@billguy
billguy / config.active_record.sqlite3.represent_boolean_as_integer.txt
Created August 10, 2020 13:10
Replace sqlite t & f boolean fields with 1 & 0 in one shot. Fixes config.active_record.sqlite3.represent_boolean_as_integer for older db's.
Rails.application.eager_load!
ApplicationRecord.descendants.each do |klass|
klass.columns.select{ |c| c.type == :boolean }.map(&:name).each do |bool_column|
klass.where("#{bool_column} = 't'").update_all(bool_column.to_sym => 1)
klass.where("#{bool_column} = 'f'").update_all(bool_column.to_sym => 0)
end
end
@billguy
billguy / form_fields_helper.rb
Last active December 15, 2016 19:56
Populating all form fileds in Capybara from a Factory
module FormFieldsHelper
def populate_form_fields_from_factory(page, form_id, factory)
inputs = page.all(:css, "##{form_id} input, ##{form_id} textarea, ##{form_id} select")
inputs.reject{ |input| input[:id] == nil }.each do |input|
input_id = input[:id]
attribute_name = input_id.gsub("#{factory.class.name.underscore}_",'')
attribute = attribute_name.to_sym
attribute_value = factory.send(attribute)
if input.tag_name == 'select' # Select
@billguy
billguy / duo.rb
Last active August 29, 2015 14:23
Basic Duo Security operations in a Rails concern
module Duo
require 'duo/duo_api' # https://github.com/duosecurity/duo_api_ruby
extend ActiveSupport::Concern
included do
def duo_username
#whatever...