Module: Mailpeek

Defined in:
lib/mailpeek.rb,
lib/mailpeek/web.rb,
lib/mailpeek/email.rb,
lib/mailpeek/railtie.rb,
lib/mailpeek/version.rb,
lib/mailpeek/delivery.rb,
lib/mailpeek/web/action.rb,
lib/mailpeek/web/router.rb,
lib/mailpeek/web/helpers.rb,
lib/mailpeek/configuration.rb,
lib/mailpeek/web/application.rb

Overview

Public: Mailpeek

Defined Under Namespace

Modules: WebHelpers, WebRouter Classes: Configuration, Delivery, Email, Railtie, Web, WebAction, WebApplication, WebRoute

Constant Summary collapse

VERSION =
'1.0.2'

Class Method Summary collapse

Class Method Details

.configurationObject



14
15
16
# File 'lib/mailpeek.rb', line 14

def self.configuration
  @configuration ||= Configuration.new
end

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

Yields:



18
19
20
# File 'lib/mailpeek.rb', line 18

def self.configure
  yield(configuration)
end

.email(timestamp) ⇒ Object



40
41
42
# File 'lib/mailpeek.rb', line 40

def self.email(timestamp)
  emails.detect { |x| x.id == timestamp }
end

.emailsObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/mailpeek.rb', line 22

def self.emails
  emails   = []
  location = Mailpeek.configuration.location

  prep_folder

  Dir.foreach(location) do |filename|
    next if ['.', '..'].include?(filename)

    path  = File.join(location, filename, 'mail')
    email = Email.new(filename, ::Mail.read(path))

    emails.push(email)
  end

  emails.sort_by(&:position).reverse
end

.prep_folderObject



59
60
61
62
63
# File 'lib/mailpeek.rb', line 59

def self.prep_folder
  location = Mailpeek.configuration.location

  FileUtils.mkdir_p(location) unless File.directory?(location)
end

.unreadObject



44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/mailpeek.rb', line 44

def self.unread
  unread   = 0
  location = Mailpeek.configuration.location

  prep_folder

  Dir.foreach(location) do |filename|
    next if ['.', '..'].include?(filename)

    unread += 1 unless File.exist?(File.join(location, filename, '.read'))
  end

  unread
end