knowndecimal/fulfil

View on GitHub

Showing 83 of 83 total issues

Fulfil::Client#search has 6 parameters
Open

def search(model:, domain:, offset: nil, limit: 100, sort: nil, fields: %w[id])
Severity: Minor
Found in lib/fulfil/client.rb by reek

Fulfil::ResponseParser#self.mapped_value_field has approx 8 statements
Open

def self.mapped_value_field(value:)
Severity: Minor
Found in lib/fulfil/response_parser.rb by reek

Fulfil::RateLimitHeaders#resets_at= refers to 'value' more than self (maybe move it to another class?)
Open

if value.nil?
nil
else
Time.at(value.to_i).utc.to_datetime
Severity: Minor
Found in lib/fulfil/rate_limit_headers.rb by reek

Fulfil::ResponseParser#self.group contains iterators nested 2 deep
Open

attrs = kv_tuples[1..].map { |tuple| [tuple[0][1..], tuple[1]] }
Severity: Minor
Found in lib/fulfil/response_parser.rb by reek

Fulfil::Query#exclude has approx 9 statements
Open

def exclude(*args)
Severity: Minor
Found in lib/fulfil/query.rb by reek

Fulfil::RateLimit#analyse! has approx 6 statements
Open

def analyse!(headers)
Severity: Minor
Found in lib/fulfil/rate_limit.rb by reek

Fulfil::Client has at least 22 methods
Open

class Client
Severity: Minor
Found in lib/fulfil/client.rb by reek

Fulfil::Client#find has 4 parameters
Open

def find(model:, ids: [], id: nil, fields: %w[id rec_name])
Severity: Minor
Found in lib/fulfil/client.rb by reek

Fulfil::Query#build_exclude_term has 4 parameters
Open

def build_exclude_term(field:, value:, options:, prefix: nil)
Severity: Minor
Found in lib/fulfil/query.rb by reek

Fulfil::Query#search has approx 7 statements
Open

def search(*args)
Severity: Minor
Found in lib/fulfil/query.rb by reek

Fulfil::ResponseParser#self.group has approx 7 statements
Open

def self.group(key_value_tuples)
Severity: Minor
Found in lib/fulfil/response_parser.rb by reek

Fulfil::HttpError::NotFound has no descriptive comment
Open

class NotFound < HttpError; end
Severity: Minor
Found in lib/fulfil/error.rb by reek

Fulfil::Query#build_exclude_term calls 'value.class.name' 2 times
Open

case value.class.name
when 'Array'
[[key, 'not in', value]]
when 'Fixnum', 'Integer'
[[key, '!=', value]]
Severity: Minor
Found in lib/fulfil/query.rb by reek

Fulfil::Query#build_search_term calls 'value.class.name' 2 times
Open

case value.class.name
when 'Array'
[[key, 'in', value]]
when 'Fixnum', 'Integer'
[[key, '=', value]]
Severity: Minor
Found in lib/fulfil/query.rb by reek

Fulfil::Client::InvalidClientError has no descriptive comment
Open

class InvalidClientError < StandardError
Severity: Minor
Found in lib/fulfil/client.rb by reek

Fulfil::HttpError::InternalServerError has no descriptive comment
Open

class InternalServerError < HttpError; end
Severity: Minor
Found in lib/fulfil/error.rb by reek

Fulfil::Query#build_exclude_term calls 'value.class' 2 times
Open

case value.class.name
when 'Array'
[[key, 'not in', value]]
when 'Fixnum', 'Integer'
[[key, '!=', value]]
Severity: Minor
Found in lib/fulfil/query.rb by reek

Fulfil::ResponseParser#self.mapped_value_field calls 'value['iso_string']' 2 times
Open

date = value['iso_string']
Date.parse(date)
when 'datetime'
time = value['iso_string']
Severity: Minor
Found in lib/fulfil/response_parser.rb by reek

Method exclude has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
Open

def exclude(*args)
options = args.first { |arg| arg.is_a?(Hash) && arg.key?(:options) }.fetch(:options, {})
 
terms = args.flat_map do |arg|
arg.map do |field, value|
Severity: Minor
Found in lib/fulfil/query.rb - About 35 mins to fix

Method request has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
Open

def request(endpoint:, verb: :get, **args)
raise InvalidClientError if invalid?
 
response = client.request(verb, endpoint, args)
Fulfil::ResponseHandler.new(response).verify!
Severity: Minor
Found in lib/fulfil/client.rb - About 35 mins to fix
Severity
Category
Status
Source
Language