Sha256: c4f516a81193a684e33c3db37e50995dd7f193c5ed859fb85208b9d7acbdd71f

Contents?: true

Size: 636 Bytes

Versions: 1

Compression:

Stored size: 636 Bytes

Contents

require "whitelist_scope/version"

module WhitelistScope
  attr_reader :whitelist

  def whitelist_scope(name, body)
    @whitelist ||= []
    name = name.to_sym

    if self.respond_to?(name)
      raise ArgumentError, "Could not create scope, There is an existing method with this name."
    end

    scope name, body
    @whitelist << name
  end

  def call_whitelisted_scope(scope_name = "")
    scope_name = scope_name.to_sym unless scope_name == nil

    if @whitelist.include? scope_name
      self.send(scope_name)
    else
      raise NoMethodError, "The scope you provided, '#{scope_name}', does not exist."
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
whitelist_scope-0.1.0 lib/whitelist_scope.rb