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