module Thinreports::Utils
Public Class Methods
included(klass)
click to toggle source
# File lib/thinreports/core/utils.rb, line 5 def self.included(klass) klass.extend self end
Public Instance Methods
blank_value?(value)
click to toggle source
# File lib/thinreports/core/utils.rb, line 24 def blank_value?(value) case value when String then value.empty? when NilClass then true else false end end
call_block_in(scope, &block)
click to toggle source
# File lib/thinreports/core/utils.rb, line 32 def call_block_in(scope, &block) return scope unless block_given? if block.arity == 1 block.call(scope) else scope.instance_eval(&block) end scope end
deep_copy(src)
click to toggle source
# File lib/thinreports/core/utils.rb, line 9 def deep_copy(src) case src when Hash src.each_with_object({}) do |(k, v), h| h[k] = v.dup rescue v end when Array src.map do |a| a.dup rescue a end else raise ArgumentError end end