diff --git a/.rubocop.yml b/.rubocop.yml index d0b95af5f9199af7fff5b3fa40e6d4e650f97c7e..ca9ec06b0c96f156ee1685df2e895d9c483439cf 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -55,6 +55,9 @@ Layout/LineLength: Exclude: - Gemfile +Layout/EndAlignment: + EnforcedStyleAlignWith: start_of_line + Layout/SpaceAroundEqualsInParameterDefault: EnforcedStyle: no_space diff --git a/lib/customer_fwd.rb b/lib/customer_fwd.rb index 0151250ae4c789170473c4dc0eaf2aec02640d07..bee076d3acf7b65b6fdd6cd618d364a6a366981f 100644 --- a/lib/customer_fwd.rb +++ b/lib/customer_fwd.rb @@ -7,14 +7,18 @@ require "uri" class CustomerFwd def self.for(uri:, timeout:) timeout = Timeout.new(timeout) - return None.new(uri: uri, timeout: timeout) if !uri || timeout.zero? - if uri =~ /\Asip:(.*)@sip.cheogram.com\Z/ - uri = "xmpp:#{$1.gsub(/%([0-9A-F]{2})/i) { $1.to_i(16).chr }}" + fwd = if uri + if uri =~ /\Asip:(.*)@sip.cheogram.com\Z/ + uri = "xmpp:#{$1.gsub(/%([0-9A-F]{2})/i) { $1.to_i(16).chr }}" + end + + URIS.fetch(uri.split(":", 2).first.to_sym) { + raise "Unknown forward URI: #{uri}" + }.new(uri: uri, timeout: timeout) end - URIS.fetch(uri.split(":", 2).first.to_sym) { - raise "Unknown forward URI: #{uri}" - }.new(uri: uri, timeout: timeout) + + fwd && !timeout.zero? ? fwd : None.new(uri: uri, timeout: timeout) end class Timeout