Sha256: 572abc61a885f5a7c3cdb632ed229ce018dfaf336a9ddd0cefe82535fc7aa1be
Contents?: true
Size: 866 Bytes
Versions: 2
Compression:
Stored size: 866 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_names) scope_results = nil scope_names.flatten.each do |scope_name| scope_name = scope_name.to_sym unless scope_name == nil if @whitelist.include? scope_name if scope_results scope_results = scope_results.send(scope_name) else scope_results = self.send(scope_name) end else raise NoMethodError, "The scope you provided, '#{scope_name}', does not exist." end end scope_results end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
whitelist_scope-0.1.2 | lib/whitelist_scope.rb |
whitelist_scope-0.1.1 | lib/whitelist_scope.rb |