diff --git a/.rubocop.yml b/.rubocop.yml index 9870d13e..7bdfa631 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -13,5 +13,8 @@ Lint/AssignmentInCondition: Style/ParallelAssignment: Enabled: false -Style/TrailingComma: +Style/TrailingCommaInLiteral: + EnforcedStyleForMultiline: comma + +Style/TrailingCommaInArguments: EnforcedStyleForMultiline: comma diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 8acc029e..50c86e74 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -1,6 +1,6 @@ # This configuration was generated by # `rubocop --auto-gen-config` -# on 2016-01-08 11:47:42 -0800 using RuboCop version 0.35.0. +# on 2016-08-17 14:58:12 -0700 using RuboCop version 0.42.0. # The point is for the user to remove these configuration records # one by one as the offenses are removed from the code base. # Note that changes in the inspected code, or installation of new @@ -9,8 +9,15 @@ # Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: AlignWith, SupportedStyles, AutoCorrect. +# SupportedStyles: keyword, variable, start_of_line Lint/EndAlignment: - Enabled: false + Exclude: + - 'testserver/ldapserver.rb' + +# Offense count: 30 +Lint/ImplicitStringConcatenation: + Exclude: + - 'test/test_filter.rb' # Offense count: 1 Lint/NonLocalExitFromIterator: @@ -29,22 +36,30 @@ Lint/ShadowingOuterLocalVariable: # Offense count: 10 # Cop supports --auto-correct. -# Configuration parameters: IgnoreEmptyBlocks. +# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments. Lint/UnusedBlockArgument: Exclude: - 'lib/net/ldap.rb' - 'lib/net/snmp.rb' - 'test/support/vm/openldap/Vagrantfile' -# Offense count: 3 +# Offense count: 7 # Cop supports --auto-correct. # Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods. Lint/UnusedMethodArgument: Exclude: - 'lib/net/ldap/entry.rb' - 'lib/net/ldap/pdu.rb' + - 'test/test_ldap.rb' + - 'test/test_ldap_connection.rb' - 'test/test_search.rb' +# Offense count: 1 +# Configuration parameters: ContextCreatingMethods. +Lint/UselessAccessModifier: + Exclude: + - 'lib/net/ldap/connection.rb' + # Offense count: 9 Lint/UselessAssignment: Exclude: @@ -55,7 +70,7 @@ Lint/UselessAssignment: - 'test/test_search.rb' - 'test/test_snmp.rb' -# Offense count: 48 +# Offense count: 47 Metrics/AbcSize: Max: 114 @@ -66,18 +81,19 @@ Metrics/BlockNesting: # Offense count: 10 # Configuration parameters: CountComments. Metrics/ClassLength: - Max: 423 + Max: 431 -# Offense count: 21 +# Offense count: 22 Metrics/CyclomaticComplexity: Max: 41 -# Offense count: 229 -# Configuration parameters: AllowURI, URISchemes. +# Offense count: 225 +# Configuration parameters: AllowHeredoc, AllowURI, URISchemes. +# URISchemes: http, https Metrics/LineLength: Max: 360 -# Offense count: 71 +# Offense count: 70 # Configuration parameters: CountComments. Metrics/MethodLength: Max: 130 @@ -87,7 +103,7 @@ Metrics/MethodLength: Metrics/ModuleLength: Max: 104 -# Offense count: 13 +# Offense count: 14 Metrics/PerceivedComplexity: Max: 37 @@ -96,6 +112,18 @@ Style/AccessorMethodName: Exclude: - 'lib/net/ldap.rb' +# Offense count: 10 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: prefer_alias, prefer_alias_method +Style/Alias: + Exclude: + - 'lib/net/ber/core_ext/array.rb' + - 'lib/net/ldap.rb' + - 'lib/net/ldap/entry.rb' + - 'lib/net/ldap/filter.rb' + - 'lib/net/ldap/pdu.rb' + # Offense count: 4 # Cop supports --auto-correct. Style/AlignArray: @@ -106,7 +134,8 @@ Style/AlignArray: # Offense count: 10 # Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. +# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth. +# SupportedStyles: with_first_parameter, with_fixed_indentation Style/AlignParameters: Exclude: - 'test/ber/test_ber.rb' @@ -117,6 +146,7 @@ Style/AlignParameters: # Offense count: 37 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: always, conditionals Style/AndOr: Exclude: - 'lib/net/ber/ber_parser.rb' @@ -130,6 +160,7 @@ Style/AndOr: # Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: percent_q, bare_percent Style/BarePercentLiterals: Exclude: - 'test/test_entry.rb' @@ -140,21 +171,23 @@ Style/BlockComments: Exclude: - 'test/test_rename.rb' -# Offense count: 9 +# Offense count: 6 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: braces, no_braces, context_dependent Style/BracesAroundHashParameters: Exclude: - 'lib/net/ldap/auth_adapter/gss_spnego.rb' - 'lib/net/snmp.rb' - - 'test/test_auth_adapter.rb' - - 'test/test_ldap_connection.rb' + - 'test/test_ldap.rb' # Offense count: 4 # Cop supports --auto-correct. -# Configuration parameters: IndentWhenRelativeTo, SupportedStyles, IndentOneStep. +# Configuration parameters: IndentWhenRelativeTo, SupportedStyles, IndentOneStep, IndentationWidth. +# SupportedStyles: case, end Style/CaseIndentation: - Enabled: false + Exclude: + - 'lib/net/ldap/filter.rb' # Offense count: 4 # Cop supports --auto-correct. @@ -170,12 +203,14 @@ Style/ClassAndModuleCamelCase: # Offense count: 23 # Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: nested, compact Style/ClassAndModuleChildren: Enabled: false # Offense count: 2 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: is_a?, kind_of? Style/ClassCheck: Exclude: - 'lib/net/ber/core_ext/array.rb' @@ -191,10 +226,19 @@ Style/ColonMethodCall: # Offense count: 1 # Cop supports --auto-correct. # Configuration parameters: Keywords. +# Keywords: TODO, FIXME, OPTIMIZE, HACK, REVIEW Style/CommentAnnotation: Exclude: - 'lib/net/ber.rb' +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, SingleLineConditionsOnly. +# SupportedStyles: assign_to_condition, assign_inside_condition +Style/ConditionalAssignment: + Exclude: + - 'lib/net/ldap/dn.rb' + # Offense count: 88 Style/ConstantName: Exclude: @@ -206,13 +250,11 @@ Style/ConstantName: - 'test/test_ldif.rb' - 'testserver/ldapserver.rb' -# Offense count: 21 -# Configuration parameters: Exclude. +# Offense count: 17 Style/Documentation: Exclude: - 'spec/**/*' - 'test/**/*' - - 'lib/net/ber.rb' - 'lib/net/ber/core_ext.rb' - 'lib/net/ldap.rb' - 'lib/net/ldap/auth_adapter.rb' @@ -223,15 +265,17 @@ Style/Documentation: - 'lib/net/ldap/instrumentation.rb' - 'lib/net/ldap/password.rb' - 'lib/net/ldap/pdu.rb' - - 'lib/net/ldap/version.rb' - 'lib/net/snmp.rb' - 'testserver/ldapserver.rb' -# Offense count: 23 +# Offense count: 19 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: leading, trailing Style/DotPosition: - Enabled: false + Exclude: + - 'test/test_ldap_connection.rb' + - 'test/test_ssl_ber.rb' # Offense count: 1 # Cop supports --auto-correct. @@ -255,16 +299,19 @@ Style/EmptyLines: - 'lib/net/snmp.rb' - 'testserver/ldapserver.rb' -# Offense count: 1 +# Offense count: 2 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: empty_lines, no_empty_lines Style/EmptyLinesAroundClassBody: Exclude: + - 'lib/net/ldap.rb' - 'test/test_snmp.rb' # Offense count: 2 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: empty_lines, no_empty_lines Style/EmptyLinesAroundModuleBody: Exclude: - 'testserver/ldapserver.rb' @@ -276,7 +323,7 @@ Style/EvenOdd: - 'lib/net/ldap/dn.rb' # Offense count: 1 -# Configuration parameters: Exclude. +# Configuration parameters: ExpectMatchingDefinition, Regex, IgnoreExecutableScripts. Style/FileName: Exclude: - 'lib/net-ldap.rb' @@ -287,19 +334,31 @@ Style/GlobalVars: Exclude: - 'testserver/ldapserver.rb' -# Offense count: 4 -# Configuration parameters: MinBodyLength. -Style/GuardClause: +# Offense count: 161 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols. +# SupportedStyles: ruby19, ruby19_no_mixed_keys, hash_rockets +Style/HashSyntax: Exclude: - 'lib/net/ber.rb' - - 'lib/net/ldap/entry.rb' - - 'lib/net/ldap/filter.rb' + - 'lib/net/ber/ber_parser.rb' + - 'lib/net/ldap.rb' + - 'lib/net/ldap/auth_adapter/gss_spnego.rb' + - 'lib/net/ldap/connection.rb' + - 'lib/net/ldap/pdu.rb' + - 'lib/net/snmp.rb' + - 'test/integration/test_bind.rb' + - 'test/test_auth_adapter.rb' + - 'test/test_ldap.rb' + - 'test/test_ldap_connection.rb' + - 'test/test_search.rb' + - 'test/test_ssl_ber.rb' + - 'testserver/ldapserver.rb' -# Offense count: 149 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues. -Style/HashSyntax: - Enabled: false +# Offense count: 1 +Style/IfInsideElse: + Exclude: + - 'lib/net/ldap/instrumentation.rb' # Offense count: 7 # Cop supports --auto-correct. @@ -311,10 +370,19 @@ Style/IfUnlessModifier: - 'lib/net/ldap.rb' - 'lib/net/ldap/filter.rb' - 'lib/net/snmp.rb' + - 'test/test_ldap_connection.rb' # Offense count: 2 # Cop supports --auto-correct. -# Configuration parameters: SupportedStyles. +# Configuration parameters: SupportedStyles, IndentationWidth. +# SupportedStyles: special_inside_parentheses, consistent, align_brackets +Style/IndentArray: + EnforcedStyle: consistent + +# Offense count: 2 +# Cop supports --auto-correct. +# Configuration parameters: SupportedStyles, IndentationWidth. +# SupportedStyles: special_inside_parentheses, consistent, align_braces Style/IndentHash: EnforcedStyle: consistent @@ -340,25 +408,65 @@ Style/LeadingCommentSpace: # Offense count: 21 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline Style/MethodDefParentheses: - Enabled: false + Exclude: + - 'lib/net/ber.rb' + - 'lib/net/ldap/pdu.rb' + - 'lib/net/snmp.rb' + - 'testserver/ldapserver.rb' + +# Offense count: 2 +Style/MethodMissing: + Exclude: + - 'lib/net/ldap/dn.rb' + - 'lib/net/ldap/entry.rb' # Offense count: 1 # Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: snake_case, camelCase Style/MethodName: - Enabled: false + Exclude: + - 'lib/net/ldap/filter.rb' -# Offense count: 5 +# Offense count: 4 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. -Style/MultilineOperationIndentation: - Enabled: false +# SupportedStyles: symmetrical, new_line, same_line +Style/MultilineMethodCallBraceLayout: + Exclude: + - 'lib/net/ldap/filter.rb' + - 'test/test_entry.rb' + - 'test/test_ldap_connection.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth. +# SupportedStyles: aligned, indented, indented_relative_to_receiver +Style/MultilineMethodCallIndentation: + Exclude: + - 'test/test_ldap_connection.rb' # Offense count: 1 Style/MultilineTernaryOperator: Exclude: - 'lib/net/ldap/connection.rb' +# Offense count: 26 +# Cop supports --auto-correct. +Style/MutableConstant: + Exclude: + - 'lib/net/ber.rb' + - 'lib/net/ldap.rb' + - 'lib/net/ldap/connection.rb' + - 'lib/net/ldap/dn.rb' + - 'lib/net/ldap/filter.rb' + - 'lib/net/ldap/version.rb' + - 'lib/net/snmp.rb' + - 'test/support/vm/openldap/Vagrantfile' + - 'test/test_ldif.rb' + - 'testserver/ldapserver.rb' + # Offense count: 1 # Cop supports --auto-correct. Style/NegatedIf: @@ -374,6 +482,7 @@ Style/NegatedWhile: # Offense count: 3 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, MinBodyLength, SupportedStyles. +# SupportedStyles: skip_modifier_ifs, always Style/Next: Exclude: - 'lib/net/ldap/connection.rb' @@ -403,6 +512,16 @@ Style/Not: Style/NumericLiterals: MinDigits: 8 +# Offense count: 4 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: predicate, comparison +Style/NumericPredicate: + Exclude: + - 'lib/net/ber/core_ext/integer.rb' + - 'lib/net/ldap/dn.rb' + - 'testserver/ldapserver.rb' + # Offense count: 3 Style/OpMethod: Exclude: @@ -435,9 +554,14 @@ Style/PerlBackrefs: - 'testserver/ldapserver.rb' # Offense count: 10 +# Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: compact, exploded Style/RaiseArgs: - Enabled: false + Exclude: + - 'lib/net/ldap/connection.rb' + - 'lib/net/ldap/pdu.rb' + - 'lib/net/snmp.rb' # Offense count: 1 # Cop supports --auto-correct. @@ -445,6 +569,13 @@ Style/RedundantBegin: Exclude: - 'lib/net/snmp.rb' +# Offense count: 4 +# Cop supports --auto-correct. +Style/RedundantParentheses: + Exclude: + - 'lib/net/ldap/filter.rb' + - 'test/test_filter.rb' + # Offense count: 4 # Cop supports --auto-correct. # Configuration parameters: AllowMultipleReturnValues. @@ -455,7 +586,7 @@ Style/RedundantReturn: - 'lib/net/ldap/entry.rb' - 'lib/net/ldap/password.rb' -# Offense count: 6 +# Offense count: 8 # Cop supports --auto-correct. Style/RedundantSelf: Exclude: @@ -467,6 +598,7 @@ Style/RedundantSelf: # Offense count: 2 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles, AllowInnerSlashes. +# SupportedStyles: slashes, percent_r, mixed Style/RegexpLiteral: Exclude: - 'lib/net/ldap/filter.rb' @@ -487,73 +619,59 @@ Style/Semicolon: - 'lib/net/ldap/error.rb' - 'testserver/ldapserver.rb' -# Offense count: 66 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. -Style/SignalException: - Exclude: - - 'lib/net/ber/ber_parser.rb' - - 'lib/net/ber/core_ext/array.rb' - - 'lib/net/ldap.rb' - - 'lib/net/ldap/auth_adapter.rb' - - 'lib/net/ldap/auth_adapter/gss_spnego.rb' - - 'lib/net/ldap/auth_adapter/sasl.rb' - - 'lib/net/ldap/auth_adapter/simple.rb' - - 'lib/net/ldap/connection.rb' - - 'lib/net/ldap/dn.rb' - - 'lib/net/ldap/entry.rb' - - 'lib/net/ldap/filter.rb' - - 'lib/net/ldap/password.rb' - - 'lib/net/ldap/pdu.rb' - - 'lib/net/snmp.rb' - # Offense count: 2 # Configuration parameters: Methods. +# Methods: {"reduce"=>["a", "e"]}, {"inject"=>["a", "e"]} Style/SingleLineBlockParams: Exclude: - 'lib/net/ldap/filter.rb' -# Offense count: 2 +# Offense count: 5 # Cop supports --auto-correct. -Style/SingleSpaceBeforeFirstArg: +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: space, no_space +Style/SpaceAroundEqualsInParameterDefault: Exclude: - - 'lib/net/ldap/dataset.rb' - - 'lib/net/ldap/instrumentation.rb' + - 'lib/net/ldap/connection.rb' + - 'lib/net/snmp.rb' -# Offense count: 2 +# Offense count: 4 # Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. -Style/SpaceAroundEqualsInParameterDefault: - Enabled: false +Style/SpaceAroundKeyword: + Exclude: + - 'lib/net/ldap/entry.rb' + - 'lib/net/snmp.rb' # Offense count: 9 # Cop supports --auto-correct. -# Configuration parameters: MultiSpaceAllowedForOperators. +# Configuration parameters: AllowForAlignment. Style/SpaceAroundOperators: Exclude: + - 'lib/net/ber/ber_parser.rb' - 'lib/net/ldap/connection.rb' - 'lib/net/ldap/entry.rb' - 'lib/net/ldap/filter.rb' - 'test/test_entry.rb' - 'test/test_ldap_connection.rb' -# Offense count: 2 -# Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. -Style/SpaceBeforeBlockBraces: - Enabled: false - -# Offense count: 18 +# Offense count: 5 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters. +# SupportedStyles: space, no_space Style/SpaceInsideBlockBraces: - Enabled: false + Exclude: + - 'lib/net/ldap/dataset.rb' + - 'test/test_snmp.rb' + - 'testserver/ldapserver.rb' -# Offense count: 1 +# Offense count: 13 # Cop supports --auto-correct. # Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces, SupportedStyles. +# SupportedStyles: space, no_space, compact Style/SpaceInsideHashLiteralBraces: - Enabled: false + Exclude: + - 'lib/net/ldap/dataset.rb' + - 'test/test_ldap.rb' # Offense count: 20 # Cop supports --auto-correct. @@ -566,18 +684,44 @@ Style/SpaceInsideParens: # Offense count: 5 # Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles. +# SupportedStyles: use_perl_names, use_english_names Style/SpecialGlobalVars: Exclude: - 'lib/net/snmp.rb' - 'net-ldap.gemspec' - 'testserver/ldapserver.rb' -# Offense count: 663 +# Offense count: 679 # Cop supports --auto-correct. -# Configuration parameters: EnforcedStyle, SupportedStyles. +# Configuration parameters: EnforcedStyle, SupportedStyles, ConsistentQuotesInMultiline. +# SupportedStyles: single_quotes, double_quotes Style/StringLiterals: Enabled: false +# Offense count: 1 +Style/StructInheritance: + Exclude: + - 'test/test_ldap.rb' + +# Offense count: 4 +# Cop supports --auto-correct. +# Configuration parameters: EnforcedStyle, SupportedStyles, AllowSafeAssignment. +# SupportedStyles: require_parentheses, require_no_parentheses +Style/TernaryParentheses: + Exclude: + - 'lib/net/ber/core_ext/integer.rb' + - 'lib/net/ldap/connection.rb' + - 'lib/net/ldap/dataset.rb' + +# Offense count: 1 +# Cop supports --auto-correct. +# Configuration parameters: ExactNameMatch, AllowPredicates, AllowDSLWriters, IgnoreClassMethods, Whitelist. +# Whitelist: to_ary, to_a, to_c, to_enum, to_h, to_hash, to_i, to_int, to_io, to_open, to_path, to_proc, to_r, to_regexp, to_str, to_s, to_sym +Style/TrivialAccessors: + Exclude: + - 'lib/net/ldap/connection.rb' + # Offense count: 5 # Cop supports --auto-correct. Style/UnneededPercentQ: @@ -594,6 +738,16 @@ Style/WhileUntilModifier: # Offense count: 1 # Cop supports --auto-correct. -# Configuration parameters: WordRegex. +# Configuration parameters: SupportedStyles, WordRegex. +# SupportedStyles: percent, brackets Style/WordArray: - MinSize: 2 + EnforcedStyle: percent + MinSize: 3 + +# Offense count: 6 +# Cop supports --auto-correct. +Style/ZeroLengthPredicate: + Exclude: + - 'lib/net/ldap/connection.rb' + - 'lib/net/ldap/filter.rb' + - 'testserver/ldapserver.rb' diff --git a/lib/net/ber.rb b/lib/net/ber.rb index 88f8862e..eb6f04b3 100644 --- a/lib/net/ber.rb +++ b/lib/net/ber.rb @@ -327,11 +327,10 @@ def initialize args # Check the encoding of the newly created String and set the encoding # to 'UTF-8' (NOTE: we do NOT change the bytes, but only set the # encoding to 'UTF-8'). + return unless encoding == Encoding::BINARY current_encoding = encoding - if current_encoding == Encoding::BINARY - force_encoding('UTF-8') - force_encoding(current_encoding) unless valid_encoding? - end + force_encoding('UTF-8') + force_encoding(current_encoding) unless valid_encoding? end end diff --git a/lib/net/ber/ber_parser.rb b/lib/net/ber/ber_parser.rb index ee69eed8..39d3737e 100644 --- a/lib/net/ber/ber_parser.rb +++ b/lib/net/ber/ber_parser.rb @@ -172,10 +172,10 @@ def read_ber(syntax = nil) yield id, content_length if block_given? if -1 == content_length - raise Net::BER::BerError, "Indeterminite BER content length not implemented." - else - data = read(content_length) + raise Net::BER::BerError, + "Indeterminite BER content length not implemented." end + data = read(content_length) parse_ber_object(syntax, id, data) end diff --git a/lib/net/ldap.rb b/lib/net/ldap.rb index 4ba27339..a79d6c55 100644 --- a/lib/net/ldap.rb +++ b/lib/net/ldap.rb @@ -1286,11 +1286,9 @@ def use_connection(args) else begin conn = new_connection - if (result = conn.bind(args[:auth] || @auth)).result_code == Net::LDAP::ResultCodeSuccess - yield conn - else - return result - end + result = conn.bind(args[:auth] || @auth) + return result unless result.result_code == Net::LDAP::ResultCodeSuccess + yield conn ensure conn.close if conn end diff --git a/lib/net/ldap/connection.rb b/lib/net/ldap/connection.rb index 1cbcbb67..05f676cc 100644 --- a/lib/net/ldap/connection.rb +++ b/lib/net/ldap/connection.rb @@ -95,17 +95,13 @@ def self.wrap_with_ssl(io, tls_options = {}, timeout=nil) conn.connect end rescue IO::WaitReadable - if IO.select([conn], nil, nil, timeout) - retry - else - raise Errno::ETIMEDOUT, "OpenSSL connection read timeout" - end + raise Errno::ETIMEDOUT, "OpenSSL connection read timeout" unless + IO.select([conn], nil, nil, timeout) + retry rescue IO::WaitWritable - if IO.select(nil, [conn], nil, timeout) - retry - else - raise Errno::ETIMEDOUT, "OpenSSL connection write timeout" - end + raise Errno::ETIMEDOUT, "OpenSSL connection write timeout" unless + IO.select(nil, [conn], nil, timeout) + retry end # Doesn't work: @@ -163,11 +159,9 @@ def setup_encryption(args, timeout=nil) raise Net::LDAP::NoStartTLSResultError, "no start_tls result" end - if pdu.result_code.zero? - @conn = self.class.wrap_with_ssl(@conn, args[:tls_options], timeout) - else - raise Net::LDAP::StartTLSError, "start_tls failed: #{pdu.result_code}" - end + raise Net::LDAP::StartTLSError, + "start_tls failed: #{pdu.result_code}" unless pdu.result_code.zero? + @conn = self.class.wrap_with_ssl(@conn, args[:tls_options], timeout) else raise Net::LDAP::EncMethodUnsupportedError, "unsupported encryption method #{args[:method]}" end @@ -197,12 +191,10 @@ def queued_read(message_id) # read messages until we have a match for the given message_id while pdu = read - if pdu.message_id == message_id - return pdu - else - message_queue[pdu.message_id].push pdu - next - end + return pdu if pdu.message_id == message_id + + message_queue[pdu.message_id].push pdu + next end pdu diff --git a/lib/net/ldap/dn.rb b/lib/net/ldap/dn.rb index 3037eefd..e314b80e 100644 --- a/lib/net/ldap/dn.rb +++ b/lib/net/ldap/dn.rb @@ -169,11 +169,10 @@ def each_pair end # Last pair - if [:value, :value_normal, :value_hexstring, :value_end].include? state - yield key.string.strip, value.string.rstrip - else - raise "DN badly formed" - end + raise "DN badly formed" unless + [:value, :value_normal, :value_hexstring, :value_end].include? state + + yield key.string.strip, value.string.rstrip end ## diff --git a/lib/net/ldap/entry.rb b/lib/net/ldap/entry.rb index d5068dde..10965c7c 100644 --- a/lib/net/ldap/entry.rb +++ b/lib/net/ldap/entry.rb @@ -140,11 +140,10 @@ def attribute_names # arguments to the block: a Symbol giving the name of the attribute, and a # (possibly empty) \Array of data values. def each # :yields: attribute-name, data-values-array - if block_given? - attribute_names.each do|a| - attr_name, values = a, self[a] - yield attr_name, values - end + return unless block_given? + attribute_names.each do|a| + attr_name, values = a, self[a] + yield attr_name, values end end alias_method :each_attribute, :each diff --git a/net-ldap.gemspec b/net-ldap.gemspec index 66bd5c8a..7516759b 100644 --- a/net-ldap.gemspec +++ b/net-ldap.gemspec @@ -31,7 +31,7 @@ the most recent LDAP RFCs (4510-4519, plutions of 4520-4532).} s.add_development_dependency("flexmock", "~> 1.3") s.add_development_dependency("rake", "~> 10.0") - s.add_development_dependency("rubocop", "~> 0.28.0") + s.add_development_dependency("rubocop", "~> 0.42.0") s.add_development_dependency("test-unit") s.add_development_dependency("byebug") end diff --git a/test/test_ldap_connection.rb b/test/test_ldap_connection.rb index ba6289b3..8489c377 100644 --- a/test/test_ldap_connection.rb +++ b/test/test_ldap_connection.rb @@ -16,9 +16,7 @@ def capture_stderr class FakeTCPSocket def initialize(host, port, socket_opts = {}) status, error = host.split(".") - if status == "fail" - raise Object.const_get(error) - end + raise Object.const_get(error) if status == "fail" end end diff --git a/test/test_ldif.rb b/test/test_ldif.rb index b86eb2fb..cc1ee2bf 100644 --- a/test/test_ldif.rb +++ b/test/test_ldif.rb @@ -76,7 +76,7 @@ def test_ldif # Must test folded lines and base64-encoded lines as well as normal ones. def test_to_ldif - data = File.open(TestLdifFilename, "rb") { |f| f.read } + data = File.open(TestLdifFilename, "rb", &:read) io = StringIO.new(data) # added .lines to turn to array because 1.9 doesn't have