Skip to content

Instantly share code, notes, and snippets.

@aportnov
aportnov / router.ex
Last active December 12, 2018 15:45
Elixir: Compiled EEx templates in Plug application
defmodule MyModule.Router do
@moduledoc """
Http Entry Point
"""
use Plug.Router
use Plug.ErrorHandler
plug Plug.Logger
plug :match
@aportnov
aportnov / builder_partial.rb
Created April 23, 2011 12:41
Using partials with builder in Sinatra
module Sinatra
module BuilderHelper
def helper_modules
@helper_mods ||= Sinatra::Application.ancestors.select{|m| m.name =~ /Helper/}
end
def builder_partial(template, xml, locals = {}, helper_mods = nil)
template = "#{template}.builder" unless "#{template}" =~ /[.]builder$/
helper_mods ||= self.helper_modules
@aportnov
aportnov / jquery-data.js
Created November 17, 2010 04:44
Simple jQuery plugin to collect data from the inputs
(function( $ ){
$.fn.collectFields = function(fieldSelector) {
var convert = function(type, value) {
switch (type) {
case "int" : return value ? parseInt(value) : 0;
case "float" : return value ? parseFloat(value): 0.0;
case "boolean" : return Boolean(value);
default : return value;
}
};
require 'rubygems'
require 'sinatra'
helpers do
def request_headers
env.inject({}){|acc, (k,v)| acc[$1.downcase] = v if k =~ /^http_(.*)/i; acc}
end
end
module Components
components_path = File.expand_path(File.dirname(__FILE__) + '/components')
files = Dir.new(components_path).select{|f| f =~ /.*\.rb/ } || []
files.each do |f|
body = File.new(File.join([components_path, f])).read
name = File.basename(f, '.rb').capitalize + "Helper"
module_eval <<-"end;"
module #{name}
@aportnov
aportnov / url_fetch.rb
Created May 13, 2009 13:09
Ruby wrapper for Google App Engine URL Fetch service
require 'java'
module UrlFetch
module UF
import java.net.URL;
import java.net.URLEncoder;
import com.google.appengine.api.urlfetch.HTTPHeader
import com.google.appengine.api.urlfetch.HTTPMethod
import com.google.appengine.api.urlfetch.HTTPRequest