Skip to content

Instantly share code, notes, and snippets.

Blair Anderson blairanderson

Block or report user

Report or block blairanderson

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
@blairanderson
blairanderson / rails-email-multiple.rb
Last active Jul 1, 2019
RAILS email input with multiple=true
View rails-email-multiple.rb
# simple_form sends params inside an array
# ["first@email.com,second@email.com"]
def email_cc_list=(list)
write_attribute(:email_cc_list,
Array.wrap(list).first.split(",").uniq.join(",")
)
end
# is it possible the array ever holds more than 1 value?
@blairanderson
blairanderson / recipe.md
Last active Jun 23, 2019
Spring Rolls with Fresh Prawns and Spicy Peanut Dipping Sauce
View recipe.md

Easy Peanut Dipping Sauce

  • 125g (1/2 cup) creamy peanut butter
  • 35g (2 tbsp) hoisin sauce
  • 20g (4 tsp) soy sauce
  • 1 clove garlic
  • 10g (2 tsp) Sriracha
  • 25g (2 tbsp) warm water
  • tablespoon crushed peanuts
  • sprinkle of crushed red pepper
@blairanderson
blairanderson / asin-to-dims.rb
Created Mar 16, 2019
get the product matches
View asin-to-dims.rb
require 'net/http'
require 'uri'
require 'json'
uri = URI.parse("https://sellercentral.amazon.com/fba/profitabilitycalculator/productmatches?searchKey=B000I1TJW6&language=en_US&profitcalcToken=taco")
request = Net::HTTP::Get.new(uri)
request["Authority"] = "sellercentral.amazon.com"
request["Upgrade-Insecure-Requests"] = "1"
request["User-Agent"] = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36"
request["Accept"] = "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"
View invoice-working.mjml
<mjml>
<mj-body background-color="#ccd3e0" font-size="13px">
<mj-section background-color="#fff" padding-bottom="20px" padding-top="20px">
<mj-column width="100%">
<mj-image src="https://www.andersonassociates.net/img/favicons/anderson-logo-large.png" alt="" align="center" border="none" width="100px" padding-left="0px" padding-right="0px" padding-bottom="10px" padding-top="10px"></mj-image>
<mj-text align="center" color="#356cc7" font-size="13px" font-family="Helvetica" padding-left="25px" padding-right="25px" padding-bottom="28px" padding-top="28px">
<span style="font-size: 28px">Anderson & Associates</span><br/>
<span style="font-size: 20px">Invoice [[InvoiceDate]]</span>
</mj-text>
</mj-column>
@blairanderson
blairanderson / downloader.rb
Created Jan 28, 2019
ActiveStorage Downloader takes attachment input and yields a tempfile
View downloader.rb
# frozen_string_literal: true
module ActiveStorage
class Downloader #:nodoc:
def initialize(blob, tempdir: nil)
@blob = blob
@tempdir = tempdir
end
def download_blob_to_tempfile
@blairanderson
blairanderson / ruby_module_with_class_instance.rb
Created Nov 13, 2018
Ruby Module with Class and Instance methods extended
View ruby_module_with_class_instance.rb
module Persistence
def self.included(klass)
klass.extend(ClassMethods)
end
module ClassMethods
def all
puts 'all'
end
@blairanderson
blairanderson / fromPdfToJpg
Created Jul 16, 2018 — forked from dvcama/fromPdfToJpg
bash: extract high-res images from pdf using imagemagick (recursively)
View fromPdfToJpg
#!/bin/bash
# extract jpg from PDF
# based on a script edited by Purch
#####################################
if [ -z $1 ];then echo Give target directory; exit 0;fi
find "$1" -depth -name '*.pdf' | while read file ; do
directory=$(dirname "$file")
oldfilename=$(basename "$file")
@blairanderson
blairanderson / wysiwyg.md
Last active Feb 27, 2018
Easiest WYSIWYG implementation I have found. 2018 Edition
View wysiwyg.md

I found it very annoying how quickly these WYSIWYG editors go out of date.

The open sources ones have mostly rotted away, and the others are paid.

<% content_for :head do %>
  <%= stylesheet_link_tag('https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.9.4/ui/trumbowyg.css') %>
<% end %>
@blairanderson
blairanderson / convert-pdf-to-png.sh
Last active Jan 6, 2018
converting PDF to a png
View convert-pdf-to-png.sh
// for single item
convert -density 150 -antialias "input_file_name.pdf" -append -resize 1024x -quality 100 "output_file_name.png"
// for bulk
mogrify -format png -alpha off -density 150 -quality 100 -resize 1024 *.pdf
@blairanderson
blairanderson / raise-arg-error.md
Created Dec 21, 2017
Ruby Argument Error with Custom Message
View raise-arg-error.md

If you want to raise an argument error with a clearer message

def process_thing(account: nil, thing: nil)
  raise(ArgumentError.new("processing requires an account")) if account.blank?
  raise(ArgumentError.new("Must have a Thing to process")) if thing.blank?
  # ... Do the actual work
end
You can’t perform that action at this time.