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.0'

Class Method Summary collapse

Class Method Details

.configurationObject



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

def configuration
  @configuration ||= Configuration.new
end

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

Yields:



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

def configure
  yield configuration
  configuration.validate!
  reset_store!
end

.enabled?(environment = rails_environment) ⇒ Boolean

Returns:

  • (Boolean)


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

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



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

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



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

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

.reset_store!Object



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

def reset_store!
  @store = nil
end

.storeObject



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

def store
  @store ||= build_store
end