Module: Maskedmail

Defined in:
lib/maskedmail.rb

Class Method Summary collapse

Class Method Details

.allObject



27
28
29
# File 'lib/maskedmail.rb', line 27

def self.all
  request(:get, {:dummy_mask => [dummy_mask]})
end

.create(email_address) ⇒ Object



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

def self.create(email_address)
  request(:post, {:email_address => email_address})
end

.delete(id) ⇒ Object



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

def self.delete(id)
  request(:delete, {:suburl => id})
end

.dummy_maskObject



11
12
13
14
# File 'lib/maskedmail.rb', line 11

def self.dummy_mask
  {:id => 1, :destination => '[email protected]',
    :mask => '[email protected]'}
end

.get(id) ⇒ Object



35
36
37
# File 'lib/maskedmail.rb', line 35

def self.get(id)
  request(:get, {:suburl => id})
end

.production_urlObject



7
8
9
# File 'lib/maskedmail.rb', line 7

def self.production_url
  ENV['MASKEDMAIL_URL']
end

.request(method, arg_opts = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
# File 'lib/maskedmail.rb', line 16

def self.request(method, arg_opts = {})
  options = {:dummy_mask => dummy_mask, :suburl => ''}
  options.merge!(arg_opts)

  return options[:dummy_mask] unless production_url

  response = RestClient.send(method, "#{production_url}/#{options[:suburl]}", 
    :email_address => options[:email_address])
  JSON.parse(response)
end

.update(id, email_address) ⇒ Object



39
40
41
# File 'lib/maskedmail.rb', line 39

def self.update(id, email_address)
  request(:put, {:email_address => email_address, :suburl => id})
end