Copy the trello card for yourself https://trello.com/b/VoRUQAqz/breaking-rails-conventions-workshop
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") |
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>' |
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, |
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 |
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) |
View test.rb
#!/usr/bin/env ruby | |
def header(version) | |
puts | |
puts "-" * 80 | |
puts " rspec #{version}" | |
end | |
def run(version, command) | |
system <<-SCRIPT |
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 |
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")) |
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 |
NewerOlder