Module: MailDude

Defined in:
lib/mail_dude.rb,
lib/mail_dude/engine.rb,
lib/mail_dude/errors.rb,
lib/mail_dude/version.rb,
lib/mail_dude/dashboard.rb,
lib/mail_dude/pagination.rb,
lib/mail_dude/stores/base.rb,
lib/mail_dude/configuration.rb,
lib/mail_dude/message_record.rb,
lib/mail_dude/delivery_method.rb,
lib/mail_dude/message_broadcast.rb,
lib/mail_dude/message_presenter.rb,
lib/mail_dude/stores/file_store.rb,
lib/mail_dude/attachment_locator.rb,
lib/mail_dude/html_body_renderer.rb,
lib/mail_dude/message_serializer.rb,
app/models/mail_dude/stored_email.rb,
lib/mail_dude/attachment_scrubber.rb,
lib/mail_dude/stores/memory_store.rb,
lib/mail_dude/stores/database_store.rb,
lib/mail_dude/mailer_metadata_headers.rb,
app/channels/mail_dude/messages_channel.rb,
app/models/mail_dude/application_record.rb,
app/helpers/mail_dude/application_helper.rb,
lib/generators/mail_dude/install_generator.rb,
app/controllers/mail_dude/messages_controller.rb,
app/controllers/mail_dude/application_controller.rb,
app/controllers/mail_dude/attachments_controller.rb

Defined Under Namespace

Modules: ApplicationHelper, Generators, MailerMetadataHeaders, Stores Classes: ApplicationController, ApplicationRecord, AttachmentLocator, AttachmentNotFoundError, AttachmentScrubber, AttachmentsController, Configuration, Dashboard, DeliveryMethod, DisabledEnvironmentError, Engine, Error, HtmlBodyRenderer, InvalidConfigurationError, MessageBroadcast, MessageNotFoundError, MessagePresenter, MessageRecord, MessageSerializer, MessageTooLargeError, MessagesChannel, MessagesController, Page, StorageError, StoredEmail

Constant Summary collapse

VERSION =
'0.1.3'

Class Method Summary collapse

Class Method Details

.configurationObject



33
34
35
# File 'lib/mail_dude.rb', line 33

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



37
38
39
40
41
# File 'lib/mail_dude.rb', line 37

def configure
  yield configuration
  configuration.validate!
  reset_store!
end

.enabled?(environment = rails_environment) ⇒ Boolean

Returns:

  • (Boolean)


48
49
50
51
52
53
54
55
# File 'lib/mail_dude.rb', line 48

def enabled?(environment = rails_environment)
  config = configuration.validate!
  env = environment.to_s
  return true if env == 'production' && config.allow_production
  return false if env == 'production'

  config.enabled_environments.include?(env)
end

.rails_environmentObject



65
66
67
68
69
# File 'lib/mail_dude.rb', line 65

def rails_environment
  return Rails.env if defined?(Rails) && Rails.respond_to?(:env) && Rails.env

  ENV.fetch('RAILS_ENV', ENV.fetch('RACK_ENV', 'development'))
end

.reset_configuration!Object



43
44
45
46
# File 'lib/mail_dude.rb', line 43

def reset_configuration!
  @configuration = Configuration.new
  reset_store!
end

.reset_store!Object



61
62
63
# File 'lib/mail_dude.rb', line 61

def reset_store!
  @store = nil
end

.storeObject



57
58
59
# File 'lib/mail_dude.rb', line 57

def store
  @store ||= build_store
end