Module: Rakismet
- Defined in:
- lib/rakismet.rb,
lib/rakismet/model.rb,
lib/rakismet/railtie.rb,
lib/rakismet/version.rb,
lib/rakismet/middleware.rb
Defined Under Namespace
Modules: Model Classes: Middleware, Railtie, Request
Constant Summary collapse
- Undefined =
Class.new(NameError)
- VERSION =
"1.5.4"
Class Attribute Summary collapse
-
.excluded_headers ⇒ Object
Returns the value of attribute excluded_headers.
-
.host ⇒ Object
Returns the value of attribute host.
-
.key ⇒ Object
Returns the value of attribute key.
-
.proxy_host ⇒ Object
Returns the value of attribute proxy_host.
-
.proxy_port ⇒ Object
Returns the value of attribute proxy_port.
-
.test ⇒ Object
Returns the value of attribute test.
-
.url ⇒ Object
Returns the value of attribute url.
Class Method Summary collapse
- .akismet_call(function, args = {}) ⇒ Object
- .clear_request ⇒ Object
- .headers ⇒ Object
- .request ⇒ Object
- .set_request_vars(env) ⇒ Object
- .valid_key? ⇒ Boolean
- .validate_key ⇒ Object
Class Attribute Details
.excluded_headers ⇒ Object
Returns the value of attribute excluded_headers.
16 17 18 |
# File 'lib/rakismet.rb', line 16 def excluded_headers @excluded_headers end |
.host ⇒ Object
Returns the value of attribute host.
16 17 18 |
# File 'lib/rakismet.rb', line 16 def host @host end |
.key ⇒ Object
Returns the value of attribute key.
16 17 18 |
# File 'lib/rakismet.rb', line 16 def key @key end |
.proxy_host ⇒ Object
Returns the value of attribute proxy_host.
16 17 18 |
# File 'lib/rakismet.rb', line 16 def proxy_host @proxy_host end |
.proxy_port ⇒ Object
Returns the value of attribute proxy_port.
16 17 18 |
# File 'lib/rakismet.rb', line 16 def proxy_port @proxy_port end |
.test ⇒ Object
Returns the value of attribute test.
16 17 18 |
# File 'lib/rakismet.rb', line 16 def test @test end |
.url ⇒ Object
Returns the value of attribute url.
16 17 18 |
# File 'lib/rakismet.rb', line 16 def url @url end |
Class Method Details
.akismet_call(function, args = {}) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 |
# File 'lib/rakismet.rb', line 68 def (function, args={}) validate_config args.merge!(:blog => Rakismet.url, :is_test => Rakismet.test_mode) = URI.parse(call_url(function)) response = Net::HTTP.start(.host, use_ssl: true, p_addr: proxy_host, p_port: proxy_port) do |http| params = args.map do |k,v| param = v.class < String ? v.to_str : v.to_s # for ActiveSupport::SafeBuffer and Nil, respectively "#{k}=#{CGI.escape(param)}" end http.post(.path, params.join('&'), Rakismet.headers) end response.body end |
.clear_request ⇒ Object
38 39 40 |
# File 'lib/rakismet.rb', line 38 def clear_request @request = Request.new end |
.headers ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/rakismet.rb', line 42 def headers @headers ||= begin user_agent = "Rakismet/#{Rakismet::VERSION}" if defined?(Rails) && Rails.respond_to?(:version) user_agent = "Rails/#{Rails.version} | " + user_agent end { 'User-Agent' => user_agent, 'Content-Type' => 'application/x-www-form-urlencoded' } end end |
.request ⇒ Object
22 23 24 |
# File 'lib/rakismet.rb', line 22 def request @request ||= Request.new end |
.set_request_vars(env) ⇒ Object
30 31 32 33 34 35 36 |
# File 'lib/rakismet.rb', line 30 def set_request_vars(env) request.user_ip, request.user_agent, request.referrer = env['REMOTE_ADDR'], env['HTTP_USER_AGENT'], env['HTTP_REFERER'] # Collect all CGI-style HTTP_ headers except cookies for privacy.. request.http_headers = env.select { |k,v| k =~ /^HTTP_/ }.reject { |k,v| excluded_headers.include? k } end |
.valid_key? ⇒ Boolean
64 65 66 |
# File 'lib/rakismet.rb', line 64 def valid_key? @valid_key == true end |
.validate_key ⇒ Object
54 55 56 57 58 59 60 61 62 |
# File 'lib/rakismet.rb', line 54 def validate_key validate_config = URI.parse(verify_url) response = Net::HTTP.start(.host, use_ssl: true, p_addr: proxy_host, p_port: proxy_port) do |http| data = "key=#{Rakismet.key}&blog=#{Rakismet.url}" http.post(.path, data, Rakismet.headers) end @valid_key = (response.body == 'valid') end |