class Morito::Processor::UserAgentPermission
Public Class Methods
new(user_agent, whole_permission)
click to toggle source
# File lib/morito/processor.rb, line 32 def initialize(user_agent, whole_permission) @user_agent = user_agent if whole_permission[user_agent].empty? @permission = whole_permission['*'] else @permission = whole_permission[user_agent] end end
Public Instance Methods
allowed?(path)
click to toggle source
# File lib/morito/processor.rb, line 42 def allowed?(path) return true if disallow_unavailable? if !allow_unavailable? && regexp(:allow) =~ path true else regexp(:disallow) !~ path end end
Private Instance Methods
regexp(type)
click to toggle source
# File lib/morito/processor.rb, line 62 def regexp(type) raw_regexps = @permission[type].map do |permission| Regexp.escape(permission).gsub('\*', '.*').gsub('\$', '$') end Regexp.new("\\A(?:#{raw_regexps.join('|')})") end