Module: Mailercity
- Defined in:
- lib/mailercity.rb,
lib/mailercity/helper.rb,
lib/mailercity/version.rb,
lib/mailercity/errors/authentication_error.rb
Defined Under Namespace
Modules: Helper
Classes: AuthenticationError, Message
Constant Summary
collapse
- VERSION =
"0.0.6"
- @@api_base =
'https://mailercity.onthecity.org'
- @@api_key =
nil
- @@perform_deliveries =
true
Class Method Summary
collapse
Class Method Details
.api_base ⇒ Object
16
17
18
|
# File 'lib/mailercity.rb', line 16
def self.api_base
@@api_base
end
|
.api_base=(api_base) ⇒ Object
12
13
14
|
# File 'lib/mailercity.rb', line 12
def self.api_base=(api_base)
@@api_base = api_base
end
|
.api_key ⇒ Object
28
29
30
|
# File 'lib/mailercity.rb', line 28
def self.api_key
@@api_key
end
|
.api_key=(api_key) ⇒ Object
24
25
26
|
# File 'lib/mailercity.rb', line 24
def self.api_key=(api_key)
@@api_key = api_key
end
|
.api_url(url = '') ⇒ Object
20
21
22
|
# File 'lib/mailercity.rb', line 20
def self.api_url(url='')
@@api_base + url
end
|
.const_missing(const_name) ⇒ Object
51
52
53
54
55
56
|
# File 'lib/mailercity.rb', line 51
def self.const_missing(const_name)
new_class = Class.new(super_class=Message)
const_set(const_name, new_class)
end
|
36
37
38
|
# File 'lib/mailercity.rb', line 36
def self.perform_deliveries
@@perform_deliveries
end
|
32
33
34
|
# File 'lib/mailercity.rb', line 32
def self.perform_deliveries=(perform_deliveries)
@@perform_deliveries = perform_deliveries
end
|
.request(path, args) ⇒ Object
41
42
43
44
45
46
47
48
49
|
# File 'lib/mailercity.rb', line 41
def self.request(path, args)
raise AuthenticationError.new('No API key provided. (HINT: set your API key using "Mailercity.api_key = <API-KEY>".') unless api_key
payload = {:args => args}
response = Faraday.post(api_url(path)) do |req|
req.['Content-Type'] = 'application/json'
req.['X-Api-Key'] = Mailercity.api_key
req.body = payload.to_json
end
end
|