Sha256: 7d2421892cc505bc2f5a0ed8ddcb985a1d52a4468270cf05a5e509144f7ca444

Contents?: true

Size: 541 Bytes

Versions: 11

Compression:

Stored size: 541 Bytes

Contents

module AdminIt
  module Utils
    def self.assert_symbol_arg!(arg, name = nil)
      assert_symbol_arg(arg) do
        _caller = caller_locations(3, 1).first
        name = "#{name} " unless name.nil?
        fail(
          ArgumentError,
          "Argument #{name}for #{_caller.label} should be a String or Symbol",
          caller[3..-1]
        )
      end
    end

    def self.assert_symbol_arg(arg)
      return arg if arg.is_a?(Symbol)
      return arg.to_sym if arg.is_a?(String)
      yield arg if block_given?
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
admin_it-1.0.11 lib/admin_it/utils.rb
admin_it-1.0.10 lib/admin_it/utils.rb
admin_it-1.0.9 lib/admin_it/utils.rb
admin_it-1.0.8 lib/admin_it/utils.rb
admin_it-1.0.7 lib/admin_it/utils.rb
admin_it-1.0.6 lib/admin_it/utils.rb
admin_it-1.0.5 lib/admin_it/utils.rb
admin_it-1.0.4 lib/admin_it/utils.rb
admin_it-1.0.3 lib/admin_it/utils.rb
admin_it-1.0.2 lib/admin_it/utils.rb
admin_it-1.0.1 lib/admin_it/utils.rb