Skip to content

Instantly share code, notes, and snippets.

View chris-roerig's full-sized avatar
😎
💯

Chris Roerig chris-roerig

😎
💯
View GitHub Profile
@chris-roerig
chris-roerig / timezone_from_coordinates.rb
Created April 25, 2016 14:19
Returns the time zone id for a given set of coordinates
def timezone_from_coordinates(lat, long)
conn = Faraday.new(url: "https://maps.googleapis.com/maps/api/")
res = conn.get("timezone/json") do |req|
req.params["location"] = "#{lat},#{long}"
req.params["timestamp"] = Time.now.to_i
req.params["sensor"] = false
end
data = JSON.parse res.body
data["timeZoneId"]
@chris-roerig
chris-roerig / ruby_macro_methds.rb
Last active July 14, 2020 20:59
How to add macro style methods to a rails model
# Rails Concern
# models/concerns/nicknameable.rb
module Nicknameable
extend ActiveSupport::Concern
included do
def self.nicknames(*args)
define_method("nicknames") { args }
end
nicknames
@chris-roerig
chris-roerig / log_to.rb
Created February 13, 2017 17:13
Log to a specific file in Rails
# Logs to the specified file in the Rails log folder
#
# Usage:
# LogTo.file("tracking-numbers").info "log some data"
# or
# logger = LogTo.file("tracking-numbers")
# logger.info "this is saved in my tracking-numbers log"
class LogTo
def self.file(name)
return Rails.logger if Rails.env.test?
@chris-roerig
chris-roerig / initializer_paperclip.rb
Last active June 27, 2017 15:39
Rails 4 S3 Paperclip initializer
# Gemfile
# gem "aws-sdk"
# gem 'paperclip', :git=> 'https://github.com/thoughtbot/paperclip', :ref => '523bd46c768226893f23889079a7aa9c73b57d68'
# config/initializers/paperclip.rb
Paperclip::Attachment.default_options.update({
storage: :s3,
s3_protocol: 'https',
@chris-roerig
chris-roerig / mathtools.R
Last active July 18, 2017 13:57
Simple R6 class in R
require("R6")
MathTool <-
R6Class("MathTool",
public = list(
data = NULL,
initialize = function(data = c()){
self$data <- data
},
odds = function() {
@chris-roerig
chris-roerig / rails_helper.rb
Created March 8, 2018 13:04
DatabaseCleaner rails_helper config
RSpec.configure do |config|
config.use_transactional_fixtures = false
# Use transactions by default
config.before :each do
DatabaseCleaner.strategy = :transaction
end
# For the javascript-enabled tests, switch to truncation, but *only on tables that were used*
config.before :each, :js => true do
@chris-roerig
chris-roerig / recipe.rb
Last active October 18, 2018 16:25
Automate vimrc and VundleInstall with Chef
remote_file "/home/chris/.vimrc" do
source "https://raw.githubusercontent.com/chris-roerig/dotfiles/master/vimrc"
owner "chris"
group "chris"
mode "0755"
end
directory "/home/chris/.vim/bundle/" do
owner "chris"
group "chris"
@chris-roerig
chris-roerig / rdm.rb
Created November 8, 2018 18:13
Ruby drum machine
ruby -e "tempo=(60_000/(ARGV[0].to_i||100));start=0;current=(Time.now.to_f*1000).to_i;while true do current=(Time.now.to_f*1000).to_i;if((current-start)>tempo);start=current;print\"\a\";end;end" 120
@chris-roerig
chris-roerig / ruby-2_6_0-docs-details.md
Last active June 9, 2019 15:12
Description level Ruby 2.6.0 documentation

    
Simple Access Control Lists.

Access control lists are composed of “allow” and “deny” halves to control access.  Use “all” or “*” to match any address.  To match a specific address use any address or address mask that IPAddr can understand.

Example:
@chris-roerig
chris-roerig / readme.txt
Last active February 17, 2021 14:07
how to install bootstrap 4 in Rails 6 via webpacker
# thanks Recker Swartz - https://gorails.com/forum/install-bootstrap-with-webpack-with-rails-6-beta
Updated:
Rails 6 with Bootstrap and configured with Webpack
Step 1:
yarn add bootstrap jquery popper.js
Step 2:
in config/webpack/environment.js add the following: