diff --git a/app/jobs/unqueue_message_job.rb b/app/jobs/unqueue_message_job.rb index 2fb94e9..ea7d40d 100644 --- a/app/jobs/unqueue_message_job.rb +++ b/app/jobs/unqueue_message_job.rb @@ -455,6 +455,7 @@ class UnqueueMessageJob < Postal::Job private + # rubocop:disable Naming/MemoizedInstanceVariableName def cached_sender(klass, *args) @sender ||= begin sender = klass.new(*args) @@ -462,5 +463,6 @@ class UnqueueMessageJob < Postal::Job sender end end + # rubocop:enable Naming/MemoizedInstanceVariableName end diff --git a/app/models/incoming_message_prototype.rb b/app/models/incoming_message_prototype.rb index b4594f2..6c9ad0d 100644 --- a/app/models/incoming_message_prototype.rb +++ b/app/models/incoming_message_prototype.rb @@ -24,11 +24,11 @@ class IncomingMessagePrototype end def route - @routes ||= if @to.present? - uname, domain = @to.split("@", 2) - uname, _tag = uname.split("+", 2) - @server.routes.includes(:domain).where(domains: { name: domain }, name: uname).first - end + @route ||= if @to.present? + uname, domain = @to.split("@", 2) + uname, _tag = uname.split("+", 2) + @server.routes.includes(:domain).where(domains: { name: domain }, name: uname).first + end end def attachments diff --git a/app/models/outgoing_message_prototype.rb b/app/models/outgoing_message_prototype.rb index d1bff40..a2abd99 100644 --- a/app/models/outgoing_message_prototype.rb +++ b/app/models/outgoing_message_prototype.rb @@ -49,13 +49,11 @@ class OutgoingMessagePrototype end def find_domain - @domain ||= begin - domain = @server.authenticated_domain_for_address(@from) - if @server.allow_sender? && domain.nil? - domain = @server.authenticated_domain_for_address(@sender) - end - domain || :none + domain = @server.authenticated_domain_for_address(@from) + if @server.allow_sender? && domain.nil? + domain = @server.authenticated_domain_for_address(@sender) end + domain || :none end def to_addresses diff --git a/lib/postal/query_string.rb b/lib/postal/query_string.rb index 75df96a..3ca28c0 100644 --- a/lib/postal/query_string.rb +++ b/lib/postal/query_string.rb @@ -8,12 +8,12 @@ module Postal end def [](value) - to_hash[value.to_s] + hash[value.to_s] end - delegate :empty?, to: :to_hash + delegate :empty?, to: :hash - def to_hash + def hash @hash ||= @string.scan(/([a-z]+):\s*(?:(\d{2,4}-\d{2}-\d{2}\s\d{2}:\d{2})|"(.*?)"|(.*?))(\s|\z)/).each_with_object({}) do |(key, date, string_with_spaces, value), hash| if date actual_value = date diff --git a/lib/postal/worker.rb b/lib/postal/worker.rb index c9ef066..c790f1b 100644 --- a/lib/postal/worker.rb +++ b/lib/postal/worker.rb @@ -202,7 +202,7 @@ module Postal end def job_channel - @channel ||= Postal::RabbitMQ.create_channel + @job_channel ||= Postal::RabbitMQ.create_channel end def job_queue(name) diff --git a/spec/lib/postal/query_string_spec.rb b/spec/lib/postal/query_string_spec.rb index 88e9609..6be6283 100644 --- a/spec/lib/postal/query_string_spec.rb +++ b/spec/lib/postal/query_string_spec.rb @@ -5,40 +5,40 @@ require "rails_helper" describe Postal::QueryString do it "should work with a single item" do qs = Postal::QueryString.new("to: test@example.com") - expect(qs.to_hash["to"]).to eq "test@example.com" + expect(qs.hash["to"]).to eq "test@example.com" end it "should work with a multiple items" do qs = Postal::QueryString.new("to: test@example.com from: another@example.com") - expect(qs.to_hash["to"]).to eq "test@example.com" - expect(qs.to_hash["from"]).to eq "another@example.com" + expect(qs.hash["to"]).to eq "test@example.com" + expect(qs.hash["from"]).to eq "another@example.com" end it "should not require a space after the field name" do qs = Postal::QueryString.new("to:test@example.com from:another@example.com") - expect(qs.to_hash["to"]).to eq "test@example.com" - expect(qs.to_hash["from"]).to eq "another@example.com" + expect(qs.hash["to"]).to eq "test@example.com" + expect(qs.hash["from"]).to eq "another@example.com" end it "should return nil when it receives blank" do qs = Postal::QueryString.new("to:[blank]") - expect(qs.to_hash["to"]).to eq nil + expect(qs.hash["to"]).to eq nil end it "should handle dates with spaces" do qs = Postal::QueryString.new("date: 2017-02-12 15:20") - expect(qs.to_hash["date"]).to eq("2017-02-12 15:20") + expect(qs.hash["date"]).to eq("2017-02-12 15:20") end it "should return an array for multiple items" do qs = Postal::QueryString.new("to: test@example.com to: another@example.com") - expect(qs.to_hash["to"]).to be_a(Array) - expect(qs.to_hash["to"][0]).to eq "test@example.com" - expect(qs.to_hash["to"][1]).to eq "another@example.com" + expect(qs.hash["to"]).to be_a(Array) + expect(qs.hash["to"][0]).to eq "test@example.com" + expect(qs.hash["to"][1]).to eq "another@example.com" end it "should work with a z in the string" do qs = Postal::QueryString.new("to: testaz@example.com") - expect(qs.to_hash["to"]).to eq "testaz@example.com" + expect(qs.hash["to"]).to eq "testaz@example.com" end end