Updated

lib/context_request_middleware / cookie.rb

A
36 lines of codes
3 methods
11.1 complexity/method
1 churn
33.31 complexity
0 duplications
# frozen_string_literal: true module ContextRequestMiddleware # Cookie module to consist the compatibility with # rack version 1.x & 2.0 module Cookie HTTP_COOKIE = 'HTTP_COOKIE' if Rack.release < '2.0.0' # :nocov: def cookie_session_id(request) if Rack.release < '2.0.0' parse_cookies(request.env)['_session_id'] ||
  1. ContextRequestMiddleware::Cookie#cookie_session_id calls 'request.env' 4 times Locations: 0 1 2 3
  2. ContextRequestMiddleware::Cookie#cookie_session_id refers to 'request' more than self (maybe move it to another class?) Locations: 0 1 2 3
(request.env['action_dispatch.cookies'] || {})['_session_id']
  1. ContextRequestMiddleware::Cookie#cookie_session_id calls '(request.env['action_dispatch.cookies'] || {})['_session_id']' 2 times Locations: 0 1
  2. ContextRequestMiddleware::Cookie#cookie_session_id calls 'request.env' 4 times Locations: 0 1 2 3
  3. ContextRequestMiddleware::Cookie#cookie_session_id calls 'request.env['action_dispatch.cookies']' 2 times Locations: 0 1
  4. ContextRequestMiddleware::Cookie#cookie_session_id refers to 'request' more than self (maybe move it to another class?) Locations: 0 1 2 3
else Rack::Utils.parse_cookies(request.env)['_session_id'] ||
  1. ContextRequestMiddleware::Cookie#cookie_session_id calls 'request.env' 4 times Locations: 0 1 2 3
  2. ContextRequestMiddleware::Cookie#cookie_session_id refers to 'request' more than self (maybe move it to another class?) Locations: 0 1 2 3
(request.env['action_dispatch.cookies'] || {})['_session_id']
  1. ContextRequestMiddleware::Cookie#cookie_session_id calls '(request.env['action_dispatch.cookies'] || {})['_session_id']' 2 times Locations: 0 1
  2. ContextRequestMiddleware::Cookie#cookie_session_id calls 'request.env' 4 times Locations: 0 1 2 3
  3. ContextRequestMiddleware::Cookie#cookie_session_id calls 'request.env['action_dispatch.cookies']' 2 times Locations: 0 1
  4. ContextRequestMiddleware::Cookie#cookie_session_id refers to 'request' more than self (maybe move it to another class?) Locations: 0 1 2 3
end end # :nocov: if Rack.release < '2.0.0' # :nocov: def parse_cookies(env) parse_cookies_header env[HTTP_COOKIE] end def parse_cookies_header(header)
  1. ContextRequestMiddleware::Cookie#parse_cookies_header has approx 6 statements
# rubocop:disable Metrics/LineLength, Style/RescueModifier, Style/CaseEquality cookies = Rack::Utils.parse_query(header, ';,') { |s| unescape(s) rescue s }
  1. ContextRequestMiddleware::Cookie#parse_cookies_header has the variable name 's'
cookies.each_with_object({}) { |(k, v), hash| hash[k] = Array === v ? v.first : v }
  1. ContextRequestMiddleware::Cookie#parse_cookies_header has the variable name 'k'
  2. ContextRequestMiddleware::Cookie#parse_cookies_header has the variable name 'v'
# rubocop:enable Metrics/LineLength, Style/RescueModifier, Style/CaseEquality end # :nocov: end end end