Skip to content

Instantly share code, notes, and snippets.

View skateman's full-sized avatar

Halász Dávid skateman

View GitHub Profile
@skateman
skateman / separate_worker.rb
Created April 19, 2016 08:03
Snippet to start a MiqWorker separately
MiqWebsocketWorker.delete_all
require_relative 'config/environment'
class MiqWebsocketWorker::Runner
def heartbeat
end
end
row = MiqWebsocketWorker.create_worker_record
guid = row.guid
@skateman
skateman / pseudo_columns.rb
Created August 23, 2015 14:53
PseudoColumns can mask columns with default values, useful when joining tables in ActiveRecord
module PseudoColumns
extend ActiveSupport::Concern
module ClassMethods
# Specify the columns in {name => default_value} format
def pseudo_columns(columns = {})
columns.each do |k, v|
define_method(k) do
attributes.fetch(__method__.to_s, v)
end
@skateman
skateman / fulltext_searchable.rb
Created August 23, 2015 14:48
ElasticSearch integration to ActiveRecord
module FulltextSearchable
extend ActiveSupport::Concern
included do
include Elasticsearch::Model
include Elasticsearch::Model::Callbacks
end
module ClassMethods
# Use this method to specify which columns you want to index
@skateman
skateman / falugiri.rb
Created June 7, 2015 10:40
Slovakian settlement DB scraper
require 'json'
require 'open-uri'
require 'nokogiri'
require 'ruby-progressbar'
BASEURL = "http://adatbank.sk/telepulesek/szlovakia-telepuleseinek-listaja"
db = []
doc = Nokogiri::HTML(open(BASEURL))
@skateman
skateman / capture.js
Created May 7, 2015 11:49
PhantomJS Screen Capture
/*
* Usage: phantomjs capture.js [width] [height] [url] [output]
*/
var system = require('system');
var args = system.args;
if (args.length === 5) {
var width = args[1];
var height = args[2];