Skip to content

Instantly share code, notes, and snippets.

View olistik's full-sized avatar

Maurizio De Magnis olistik

View GitHub Profile
@olistik
olistik / monkey-patches__pat.rb
Created June 22, 2015 11:17
This is a monkey patch I frequently find useful when doing functional-ish programming stuff.
class Object
def pat
if block_given?
yield self
else
self
end
end
end
require 'cinch'
require 'logger'
logger = Logger.new('irc.log', 'daily')
logger.level = Logger::INFO
def now
Time.now.strftime('%Y-%m-%d %H:%M:%S')
end
module Timesheets
class << self
def text_to_fragment_list(text:)
text.split(',')
end
def normalize_fragment_list(fragment_list:)
fragment_list.map(&:strip)
end
class LinePresenter
def initialize(object)
@object = object
end
def to_s
"Office: #{@object.office}, Employee ID: #{@object.employee_id}, First name: #{@object.first_name}"
end
end
class Line
attr_reader :line
def initialize(text)
@line = text
end
def office
values[2].strip
require 'json'
UNITS = {
'unit_a' => 'kg.25',
'unit_b' => 'kg.15',
# ...
'unit_c' => 'kg.5',
}
STORE = {
nome_file = 'quantita_rimasta.txt'
if File.exists?(nome_file)
quantita_rimasta = File.read('quantita_rimasta.txt').to_i
else
quantita_rimasta = 100
File.write(nome_file, quantita_rimasta)
end
prodotto0 = 'cemento'
@olistik
olistik / fibonacci_iter_with_mem.rs
Created December 31, 2014 17:51
Which version suits better the example?
// This version uses mem::replace()
use std::mem;
struct Fibonacci {
curr: uint,
next: uint,
}
impl Iterator<uint> for Fibonacci {
@olistik
olistik / gist:754208b9e104aa093054
Created October 13, 2014 20:58
Callbacks or Object Form?
# Given:
require 'active_record'
require 'sqlite3'
ActiveRecord::Base.establish_connection(
adapter: 'sqlite3',
database: 'mydbfile.sqlite'
)
ActiveRecord::Schema.define do
create_table 'users', force: true do |t|
t.string 'name'
require 'rspec'
require 'date'
require 'ostruct'
class Person < OpenStruct
def age
now.year - birthday.year
end
def now