Skip to content

Instantly share code, notes, and snippets.

View matsumonkie's full-sized avatar

iori matsumonkie

View GitHub Profile
function ConvertGoogleDocToCleanHtml() {
var body = DocumentApp.getActiveDocument()//.getBody();
var numChildren = body.getNumChildren();
var output = [];
var images = [];
var listCounters = {};
var toc = {}
for (var i = 0; i < numChildren; i++) {
var p = body.getChild(i);
@matsumonkie
matsumonkie / result_callback.rb
Created August 12, 2014 14:21
return value method callback
class Result
def self.success
Result.new
end
def self.error(error)
Result.new(error)
end
@matsumonkie
matsumonkie / null_object.rb
Created August 3, 2014 08:52
null object pattern
class NullObject
def method_missing(*)
self
end
def respond_to_method_missing?(name)
true
end
def nil?
@matsumonkie
matsumonkie / dci.rb
Created June 15, 2014 21:21
dci benchmarks
require 'benchmark'
require 'delegate'
#---------------------------------------------------------------
# ruby normal implementation
#---------------------------------------------------------------
module Mover
def accelerate(speed:)
@speed += speed
end
@matsumonkie
matsumonkie / registry.rb
Created June 14, 2014 21:39
registry pattern
module Registry
class << self
def logger
# some default logger...
end
def server
# some server
end
#------------------------------------------------------------------------
def Fallback(lambda, &fallback)
fallback ||= -> { raise }
begin
lambda.call()
rescue
fallback.call()
end
end
@matsumonkie
matsumonkie / singleton_object.rb
Created June 12, 2014 21:48
singleton object
# singleton object are usefull if you
# want an object that is stateless
class << (FERRARI = Object.new)
def to_s
"Ferrari from Maranello"
end
end
case FERRARI
when FERRARI then puts FERRARI # "Ferrari from Maranello"
@matsumonkie
matsumonkie / delegator.rb
Created June 12, 2014 21:17
forwordable
require 'forwardable'
class Vehicle
extend Forwardable
def_delegators :@vehicle, :name, :power, :color
def to_s
"#{name} with #{power} HP"
@matsumonkie
matsumonkie / module_functions.rb
Created June 10, 2014 22:10
module functions
#----------------------------------------------------------------------
module Util
module StringFormatter
module_function
def prettry_string(string)
"-> [#{string}] <-"
end
end
require 'delegate'
#----------------------------------------------------------------------
class Logger
DEFAULT_FORMATTER = '%d'
def initialize(formatter)
@formatter = formatter || DEFAULT_FORMATTER