Sha256: 6aeae4489d4e87de4366bdc588e21cff61018041439424a180aae7aacab6d319
Contents?: true
Size: 1.37 KB
Versions: 1
Compression:
Stored size: 1.37 KB
Contents
module CanTango module Finder module Permit class Base < CanTango::Finder::Base include CanTango::Helpers::Debug # This class is used to find the right permit, possible scoped for a specific user account attr_reader :account def initialize name, options = {} super @account = options[:account] end def find_permit raise find_error if !retrieve_permit retrieve_permit end def account_finder name @account_finder ||= CanTango::Finder::Permit::Account.new name, :type => type, :account => account end protected def permit_msg found found.nil? ? "no permits found for #{name}" : "permits registered for name: #{name} -> #{found}" end def found_permit @found_permit ||= permits.registered.send(name) end alias_method :registered?, :found_permit def account_permit account_finder(name).find_permit end def find_error "The #{type} Permit for #{name} could not be loaded. You need to define a coresponding Permit class" end def retrieve_permit @found_permit ||= permits_to_try.first end def permits_to_try @permits_to_try ||= [account_permit, permit].compact end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cantango-permits-0.1.1 | lib/cantango/permits_ext/finder/permit/base.rb |