Sha256: b083818d6c1ab66a3f7644386363347a9f8749925475935a295ffa630ad31d35
Contents?: true
Size: 1.02 KB
Versions: 1
Compression:
Stored size: 1.02 KB
Contents
require 'securerandom' require 'time' begin require 'uuid' rescue LoadError end module Framed module Utils extend self def uuid begin UUID.new.generate rescue NameError SecureRandom.uuid end end # Adapted from Rails in case it isn't available. def try(o, *a, &b) try!(o, *a, &b) if a.empty? || o.respond_to?(a.first) end def try!(o, *a, &b) if a.empty? && block_given? if b.arity.zero? o.instance_eval(&b) else yield o end else o.public_send(*a, &b) end end def serialize_date(dt) dt.utc.iso8601 end def flattened_hash(h, namespace = '', init = {}) h.reduce(init) do |memo, (key, value)| value = value.to_h if value.respond_to?(:to_h) if value.instance_of?(Hash) memo.merge!(flattened_hash(value, "#{namespace}#{key}_", memo)) else memo["#{namespace}#{key}"] = value end memo end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
framed_rails-0.2.0 | lib/framed/utils.rb |