Sha256: c4079e70f255bf5b93188d54228d055c8e51a5513ce2f4a1765bdcc120f941fb
Contents?: true
Size: 1.01 KB
Versions: 3
Compression:
Stored size: 1.01 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 = '', memo = {}) h.reduce(memo) { |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
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
framed_rails-0.1.7 | lib/framed/utils.rb |
framed_rails-0.1.5 | lib/framed/utils.rb |
framed_rails-0.1.4 | lib/framed/utils.rb |