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/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, 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.1'

Class Method Summary collapse

Class Method Details

.configurationObject



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

def configuration
  @configuration ||= Configuration.new
end

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

Yields:



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

def configure
  yield configuration
  configuration.validate!
  reset_store!
end

.enabled?(environment = rails_environment) ⇒ Boolean

Returns:

  • (Boolean)


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

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



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

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



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

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

.reset_store!Object



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

def reset_store!
  @store = nil
end

.storeObject



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

def store
  @store ||= build_store
end