Skip to content

Instantly share code, notes, and snippets.

Tim Diggins timdiggins

Block or report user

Report or block timdiggins

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@timdiggins
timdiggins / request_support.rb
Created Feb 23, 2019
An equivalent to capybara save_and_open_page for request specs
View request_support.rb
# frozen_string_literal: true
RSpec.shared_context "save_and_open_page for request" do
def asset_host
"http://localhost:3000"
end
def save_and_open_page
Dir.mkdir(Rails.root.join("tmp/requests")) unless Dir.exist?(Rails.root.join("tmp/requests"))
file = Rails.root.join("tmp/requests/screenshot-#{Time.now.to_s(:number)}.html")
@timdiggins
timdiggins / traceback
Created Feb 20, 2018
traceback for oneboxing failure of https error
View traceback
2018-02-20 18:41:58 - RuntimeError - Unable to read pdf file: https://www.poettker.com/files/pdf/Produktkatalog_170912.pdf:
/Users/tim/workspaces/bws/onebox/lib/onebox/engine/pdf_onebox.rb:14:in `data'
/Users/tim/workspaces/bws/onebox/lib/onebox/engine.rb:66:in `block in record'
/Users/tim/.rvm/gems/ruby-2.3.1@rails/gems/moneta-1.0.0/lib/moneta/mixins.rb:165:in `fetch'
/Users/tim/workspaces/bws/onebox/lib/onebox/engine.rb:66:in `record'
/Users/tim/workspaces/bws/onebox/lib/onebox/layout_support.rb:9:in `layout'
/Users/tim/workspaces/bws/onebox/lib/onebox/layout_support.rb:13:in `to_html'
/Users/tim/workspaces/bws/onebox/lib/onebox/preview.rb:35:in `engine_html'
/Users/tim/workspaces/bws/onebox/lib/onebox/preview.rb:16:in `to_s'
/Users/tim/workspaces/bws/onebox/lib/onebox/web.rb:33:in `block in <class:Web>'
@timdiggins
timdiggins / gist:3eba95ba752092e3648b9a3a932df41b
Last active Feb 20, 2018
traceback for thredded demo (v0.14.2) with onebox (1.8.39) Using content with http
View gist:3eba95ba752092e3648b9a3a932df41b
RuntimeError in Thredded::Topics#show
Showing /Users/tim/workspaces/bws/thredded/app/views/thredded/posts_common/_content.html.erb where line #2 raised:
Unable to read pdf file: https://www.poettker.com/files/pdf/Produktkatalog_170912.pdf
Extracted source (around line #14):
def data
pdf_info = get_pdf_info
raise "Unable to read pdf file: #{@url}" if pdf_info.nil?
result = { link: link,
@timdiggins
timdiggins / disable_template_cache_clearing.rb
Last active Jan 29, 2018
speed up rails 5.0 feature specs by caching templates during suite
View disable_template_cache_clearing.rb
# spec/support/disable_template_cache_clearing
# may also need to configure, either here
Rails.application.config.action_view.cache_template_loading = true
# or in config/environments/test.rb:
# config.action_view.cache_template_loading = true
# ensure ActionView::Digestor is already autoloaded before patching it
ActionView::Digestor
@timdiggins
timdiggins / thredded.rb
Last active Jan 10, 2017
MainAppDelegator
View thredded.rb
# config/intitializers/thredded.rb
# to allow you to not to have to add `main_app` before every path helper
# when embedding Thredded within a main-app supplied layout (with navbar and links to the main_app)
# ... Add this to the bottom of the initializer
Rails.application.config.to_prepare do
Rails.application.reload_routes!
thredded_methods = (Thredded::Engine.routes.url_helpers.methods + Thredded::UrlsHelper.instance_methods)
@timdiggins
timdiggins / test.rb
Created May 12, 2016
Simple script to test rspec_junit_formatter against all the rspec versions
View test.rb
#!/usr/bin/env ruby
def header(version)
puts
puts "-" * 80
puts " rspec #{version}"
end
def run(version, command)
system <<-SCRIPT
@timdiggins
timdiggins / rake_testing_support.rb
Created Mar 20, 2015
testing rake in rspec (etc)
View rake_testing_support.rb
# ./spec/support/rake_testing_support.rb
def invoke_rake_task_in_test(task_name)
require 'rake'
Rails.application.load_tasks if Rake.application.tasks.count < 10
Rake::Task[task_name].reenable
Rake::Task[task_name].invoke
end
@timdiggins
timdiggins / gist:294f0a37312fcbeaac70
Created Dec 18, 2014
delayedjob plugin to log backtraces
View gist:294f0a37312fcbeaac70
module Delayed
module Plugins
class LogErrors < Plugin
callbacks do |lifecycle|
lifecycle.around(:invoke_job) do |job, &block|
begin
block.call(job)
rescue Exception => error
Delayed::Worker.logger.error(error.message)
Delayed::Worker.logger.error(error.backtrace.join("\n"))
@timdiggins
timdiggins / delayedjob-bugsnag.rb
Last active Aug 29, 2015 — forked from loopj/delayedjob-bugsnag.rb
notify bugsnag when delayed job errors occur
View delayedjob-bugsnag.rb
# some references which helped
# http://blog.salsify.com/engineering/delayed-jobs-callbacks-and-hooks-in-rails
# http://stackoverflow.com/a/16639849/109175
# example plugin: https://github.com/collectiveidea/delayed_job/blob/master/lib/delayed/plugins/clear_locks.rb
module Delayed
module Plugins
class Bugsnag < Plugin
callbacks do |lifecycle|
lifecycle.around(:invoke_job) do |job, &block|
begin
You can’t perform that action at this time.