class SupplejackApi::HarvesterConstraint
Public Class Methods
new()
click to toggle source
# File lib/supplejack_api/harvester_constraint.rb, line 11 def initialize @ips = ENV['HARVESTER_IPS'].gsub(/\s+/, '').split(',') rescue # Allow supplejack:install generator to work without application.yml file @ips = ['127.0.0.1'] end
Public Instance Methods
forwarded_ips(request)
click to toggle source
# File lib/supplejack_api/harvester_constraint.rb, line 23 def forwarded_ips(request) ip_addresses = request.env['HTTP_X_FORWARDED_FOR'] ip_addresses ? ip_addresses.strip.split(/[,\s]+/) : [] end
matches?(request)
click to toggle source
# File lib/supplejack_api/harvester_constraint.rb, line 18 def matches?(request) forwarded_ips(request).each { |ip| return false unless @ips.include?(ip) } @ips.include?(request.remote_ip) end