diff --git a/lib/griddler/mandrill.rb b/lib/griddler/mandrill.rb index 71c86c0..2bf068a 100644 --- a/lib/griddler/mandrill.rb +++ b/lib/griddler/mandrill.rb @@ -1,5 +1,6 @@ require 'griddler' require 'griddler/mandrill/version' require 'griddler/mandrill/adapter' +require 'griddler/mandrill/logging' -Griddler.adapter_registry.register(:mandrill, Griddler::Mandrill::Adapter) +Griddler.adapter_registry.register(:mandrill, Griddler::Mandrill::Adapter) \ No newline at end of file diff --git a/lib/griddler/mandrill/adapter.rb b/lib/griddler/mandrill/adapter.rb index 4d5cd70..0316e51 100644 --- a/lib/griddler/mandrill/adapter.rb +++ b/lib/griddler/mandrill/adapter.rb @@ -12,6 +12,7 @@ def self.normalize_params(params) end def normalize_params + logger.debug(message: "entered #normalize_params", events: events) events.select do |event| event[:spf].present? && (event[:spf][:result] == 'pass' || event[:spf][:result] == 'neutral') end.map do |event| @@ -32,6 +33,12 @@ def normalize_params end end + protected + + def logger + Logging.logger + end + private attr_reader :params diff --git a/lib/griddler/mandrill/logging.rb b/lib/griddler/mandrill/logging.rb new file mode 100644 index 0000000..4a0a6a0 --- /dev/null +++ b/lib/griddler/mandrill/logging.rb @@ -0,0 +1,28 @@ +module Griddler + module Mandrill + module Logging + # The default logger discards all message; as we do not want + # to start clogging up existing users logs. + def self.logger + @logger ||= NullLogger.new(STDOUT) + end + + # Set your application's logger + # @example In a Rails initializer: + # Griddler::Mandrill::Logging.logger = Rails.logger + # @example In Rails while logging a different level than the default logger + # Griddler::Mandrill::Logging.logger = ActiveSupport::Logger.new(Rails.logger, level: :debug) + def self.logger=(logger) + @logger = logger + end + + # A logger which discards messages + class NullLogger < Logger + # Overload the Logger#add method as this is where the #info/#warn/#error methods + # send their messags to the logging subsystem. + def add(*_arguments) + end + end + end + end +end \ No newline at end of file diff --git a/spec/fixtures/photo1.jpg b/spec/fixtures/photo1.jpg new file mode 100644 index 0000000..3d55486 Binary files /dev/null and b/spec/fixtures/photo1.jpg differ diff --git a/spec/fixtures/photo2.jpg b/spec/fixtures/photo2.jpg new file mode 100644 index 0000000..852d3bd Binary files /dev/null and b/spec/fixtures/photo2.jpg differ diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 2053537..adcefb9 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,3 +1,4 @@ +require 'griddler' require 'griddler/testing' require 'griddler/mandrill' require 'action_dispatch' @@ -10,6 +11,13 @@ config.include Griddler::Testing end + +class Griddler::Testing::UploadedImage + def fixture_file + cwd = File.expand_path File.dirname(__FILE__) + File.new(File.join(cwd, 'fixtures', @name)) + end +end RSpec::Matchers.define :be_normalized_to do |expected| failure_message do |actual| message = ""