Skip to content

Instantly share code, notes, and snippets.

View af23me's full-sized avatar
👋

Evghenii M af23me

👋
View GitHub Profile
@af23me
af23me / encode_hash.rb
Last active June 26, 2017 13:27
Deep encode hash
def encode_hash(hashie)
Hash[
hashie.collect do |k, v|
if (v.is_a?(Hash))
[ k, encode_hash(v) ]
elsif (v.respond_to?(:encoding))
[ k, v.dup.force_encoding('UTF-8').encode('UTF-16', {invalid: :replace, undef: :replace, replace: '?'}).encode('UTF-8') ]
elsif (v.respond_to?(:to_utf8))
[ k, v.to_utf8 ]
else
@af23me
af23me / merge_hash_recursively.rb
Created March 23, 2017 16:24
Merge hash recursively
def merge_hash_recursively(first_hash, second_hash)
first_hash.merge(second_hash) { |key, a_item, b_item| merge_hash_recursively(a_item, b_item) }
end
@af23me
af23me / paperclip_cleaner.rb
Created February 26, 2017 22:26
Paperclip old styles (resolutions) cleaner.
require 'fileutils'
class PaperclipCleaner
class << self
def clean(parent_resource_id)
book_images = ImageModel.where(parent_resource_id: parent_resource_id).to_a
images.each do |image_object|