Module: SknUtils

Defined in:
lib/skn_utils/version.rb,
lib/skn_utils.rb,
lib/skn_utils/dotted_hash.rb,
lib/skn_utils/null_object.rb,
lib/skn_utils/result_bean.rb,
lib/skn_utils/configurable.rb,
lib/skn_utils/configuration.rb,
lib/skn_utils/nested_result.rb,
lib/skn_utils/notifier_base.rb,
lib/skn_utils/page_controls.rb,
lib/skn_utils/core_extensions.rb,
lib/skn_utils/env_string_handler.rb

Overview

File: ./lib/skn_utils/env_string_handler.rb

Wrapping a string in this class gives you a prettier way to test for equality. The value returned by Rails.env is wrapped in a StringInquirer object so instead of calling this:

Rails.env == 'production'
SknSettings.env == 'production'

you can call this:

Rails.env.production?
SknSettings.env.productcion?

Create a EnvStringHandler to support: SknSettings.env.development? Yes, its YAML trick in config/settings.yml

 ...
 env: !ruby/string:SknUtils::EnvStringHandler <%= ENV['RACK_ENV'] %>
root: !ruby/string:SknUtils::EnvStringHandler <%= Dir.pwd %>
 ...

#

Defined Under Namespace

Modules: Configurable, CoreObjectExtensions Classes: Configuration, DottedHash, EnvStringHandler, NestedResult, NotifierBase, NullObject, PageControls, ResultBean, Version

Constant Summary collapse

VERSION =
Version.to_s

Class Method Summary collapse

Class Method Details

.catch_exceptions(retries = 3, pause_between = 3, &block) ⇒ Object

Random Utils Retries block up to :retries times with a :pause_between, and returns Success/Failure object



42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# File 'lib/skn_utils.rb', line 42

def self.catch_exceptions(retries=3, pause_between=3, &block)
  retry_count ||= 1
  attempts = retries
  begin

    SknSuccess.( yield )

  rescue StandardError => error
    Kernel.puts "#{retry_count} - #{error.class.name}:#{error.message}".light_blue.italic
    if retry_count <= attempts
      retry_count+= 1
      sleep(pause_between)
      retry
    else
      SknFailure.( "RETRY ATTEMPTS FAILED - #{error.class.name}:#{error.message}" )
    end
  end
end

.nullable?(value) ⇒ Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/skn_utils/null_object.rb', line 25

def self.nullable?(value)
  value.nil? ? NullObject.new : value
end