Skip to content

Instantly share code, notes, and snippets.

@laser
laser / asset_service.rb
Last active August 29, 2015 13:55
Asset Service
class AssetService
def prune_stale_images
Prunable.from_assets(Image.all).each do |image|
S3Object.delete image.s3_object_name, image.s3_bucket_name
image.destroy
end
end
end
@laser
laser / asset_service_under_test.rb
Last active August 29, 2015 13:55
AssetService, under test
class AssetService
def prune_stale_images
--hard_coded_return_value--.each do |image|
S3Object.delete image.s3_object_name, image.s3_bucket_name
image.destroy
end
end
end
@laser
laser / ui.js
Last active August 29, 2015 13:55
UI toolbox
x = {
createCheckbox: function (o) {
var t = '';
t += '<label class="checkbox {{class}}">';
t += helpers.viewUtil.createBareCheckbox(o);
t += '</label>';
return Mustache.to_html(t, o);
},
createBareCheckbox: function (o) {
@laser
laser / zip_in_state.coffee
Created February 6, 2014 20:05
zip in state validation
# in some shared file
SomeNamespace.isZipInState = (zip, state) ->
ranges = STATE_RANGES[state]
return true if ! ranges? || ! zip
zip = value.match(/^\D*(\d\D*){5}/)[0]
zip = parseInt zip.replace(/\D/g,'') if zip
return true if ! zip
results = []
for range in ranges
do (range) ->
require 'active_record'
require 'barrister'
require 'pry'
require 'redis'
require 'erb'
# App
require './models.rb'
require './service.rb'
@laser
laser / app_redis.rb
Last active August 29, 2015 13:56
prez
require 'barrister-redis'
require './service.rb'
container = Barrister::RedisContainer.new('./user_service.idl',
[HandlerA.new, HandlerB.new],
database_url: ENV['OPENREDIS_URL'],
list_name: 'user_service')
container.start
@laser
laser / loan_to_json.rb
Created March 12, 2014 20:26
loan.rb to json
# x = Loan.new
# x.attributes = process_parameters(params[:apply])
# x.to_json
{
"loan":{
"address_city":"Dallas",
"address_state":"TX",
"address_street":"101 Main Street",
"address_suite_number":"#101",
insert :: LogMessage -> MessageTree -> MessageTree
insert (Unknown _) t = t
insert m@(LogMessage _ ts1 _) t = case t of
(Leaf) -> Node Leaf m Leaf
(Node _ (Unknown _) _) -> t
(Node t1 m2@(LogMessage _ ts2 _) t2) -> case ts1 < ts2 of
True -> Node (insert m t1) m2 t2
False -> Node t1 m2 (insert m t2)
addSomethingToEach :: [Integer] -> [Integer]
addSomethingToEach list = map something list
where something n = case (n > 0) of
True -> 2
False -> 9
@laser
laser / 00_user_model.rb
Created April 14, 2014 17:22
Microservices
class User < ActiveRecord::Base
after_create :notify_added
validates :email, uniqueness: true
def notify_added
UserMailer.email(self).deliver
end
end