Sha256: 1ed644b2ed29ae65b53a5320e998c81162610bf445c646fb8932c6986837530e

Contents?: true

Size: 823 Bytes

Versions: 36

Compression:

Stored size: 823 Bytes

Contents

module PowerStencil
  module Utils

    module SecureRequire

      def securely_require(ruby_source_file, fail_on_error: false)
        PowerStencil.logger.debug "Securely requiring Ruby source file '#{ruby_source_file}'..."
        require ruby_source_file
        yield if block_given?
      rescue StandardError, SyntaxError => e
        PowerStencil.logger.debug PowerStencil::Error.report_error(e)
        msg = "Could not require Ruby source file '#{ruby_source_file}' !"
        if fail_on_error
          msg << ' Aborting !'
          PowerStencil.logger.error msg
          raise PowerStencil::Error, "Invalid Ruby source file: '#{ruby_source_file}' !"
        else
          msg << " (#{e.message})"
          msg << ' Ignoring...'
          PowerStencil.logger.warn msg
        end
      end

    end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
power_stencil-0.10.0 lib/power_stencil/utils/secure_require.rb
power_stencil-0.9.8 lib/power_stencil/utils/secure_require.rb
power_stencil-0.9.7 lib/power_stencil/utils/secure_require.rb
power_stencil-0.9.6 lib/power_stencil/utils/secure_require.rb
power_stencil-0.9.5 lib/power_stencil/utils/secure_require.rb
power_stencil-0.9.4 lib/power_stencil/utils/secure_require.rb
power_stencil-0.9.3 lib/power_stencil/utils/secure_require.rb
power_stencil-0.9.2 lib/power_stencil/utils/secure_require.rb
power_stencil-0.9.1 lib/power_stencil/utils/secure_require.rb
power_stencil-0.9.0 lib/power_stencil/utils/secure_require.rb
power_stencil-0.8.14 lib/power_stencil/utils/secure_require.rb
power_stencil-0.8.13 lib/power_stencil/utils/secure_require.rb
power_stencil-0.8.12 lib/power_stencil/utils/secure_require.rb
power_stencil-0.8.11 lib/power_stencil/utils/secure_require.rb
power_stencil-0.8.10 lib/power_stencil/utils/secure_require.rb
power_stencil-0.8.9 lib/power_stencil/utils/secure_require.rb
power_stencil-0.8.8 lib/power_stencil/utils/secure_require.rb
power_stencil-0.8.7 lib/power_stencil/utils/secure_require.rb
power_stencil-0.8.6 lib/power_stencil/utils/secure_require.rb
power_stencil-0.8.5 lib/power_stencil/utils/secure_require.rb