emailvision 2.1.19 → 2.1.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +15 -0
- data/lib/emailvision.rb +4 -4
- data/lib/emailvision/api.rb +94 -88
- data/lib/emailvision/exception.rb +5 -5
- data/lib/emailvision/logger.rb +8 -8
- data/lib/emailvision/notification.rb +27 -27
- data/lib/emailvision/railtie.rb +20 -24
- data/lib/emailvision/relation.rb +8 -8
- data/lib/emailvision/tools.rb +34 -42
- metadata +25 -14
checksums.yaml
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
ZjNmNWYyZDRlZjNkZWFhYmIwOGM5NmJkOThiN2EwNzUwMmNkM2FmYg==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
ODJhYzFlMDU4YTBkN2VmZTkwNDhkNmU3N2JlNmIyZTIyNmMzMTg1OQ==
|
7
|
+
SHA512:
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
MGI4ZTQ4NzViZmE1ZjQ3MTIyNGRiZjNmMWJiNjU4MzJiMWQ1MzgzYmFkMDI1
|
10
|
+
MjNkODk2MGMxMWY5ZmU1MzUwOWFhYjQ3NTdmYzE3ODRiNGI1NWI2YWI2Nzk5
|
11
|
+
YzQ1YzMyMzBhYjM3YmFlOTVmMDdkYmJkZTgyZGYzZWFjOTNiMDY=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
MzI1MDEwNDYxZDQxMTg5MTJhZWE2NTI2MjE1ZjVmMTE3YTlmZWRlYWM4ZmM2
|
14
|
+
M2IzNGExNDIyMDY5NjNjZDZlZjg3Nzg2ODI1NzJhOTFlNTFkMjVjYWFlMTAz
|
15
|
+
MWNhYzVkN2IwZGQ3NGI4YmEzNDk4NTdkMTA4MjM4ZjAxMDQxY2I=
|
data/lib/emailvision.rb
CHANGED
@@ -13,9 +13,9 @@ module Emailvision
|
|
13
13
|
autoload :Relation, 'emailvision/relation'
|
14
14
|
autoload :Tools, 'emailvision/tools'
|
15
15
|
autoload :Notification, 'emailvision/notification'
|
16
|
-
|
16
|
+
|
17
17
|
if defined?(Rails)
|
18
|
-
|
19
|
-
|
20
|
-
|
18
|
+
require 'emailvision/railtie'
|
19
|
+
require 'generators/install'
|
20
|
+
end
|
21
21
|
end
|
data/lib/emailvision/api.rb
CHANGED
@@ -1,31 +1,25 @@
|
|
1
1
|
module Emailvision
|
2
|
-
class Api
|
2
|
+
class Api
|
3
3
|
include HTTParty
|
4
4
|
default_timeout 30
|
5
5
|
format :xml
|
6
6
|
headers 'Content-Type' => 'text/xml'
|
7
|
-
|
7
|
+
|
8
8
|
# HTTP verbs allowed to trigger a call-chain
|
9
|
-
HTTP_VERBS = [:get, :post].freeze
|
9
|
+
HTTP_VERBS = [:get, :post].freeze
|
10
|
+
ATTRIBUTES = [:token, :server_name, :endpoint, :login, :password, :key, :debug].freeze
|
10
11
|
|
11
12
|
# Attributes
|
12
13
|
class << self
|
13
|
-
attr_accessor
|
14
|
+
attr_accessor *ATTRIBUTES
|
14
15
|
end
|
15
|
-
attr_accessor
|
16
|
-
|
17
|
-
def initialize(params = {})
|
18
|
-
yield(self) if block_given?
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
self.login ||= params[:login] || self.class.login
|
23
|
-
self.password ||= params[:password] || self.class.password
|
24
|
-
self.key ||= params[:key] || self.class.key
|
25
|
-
self.token ||= params[:token] || self.class.token
|
26
|
-
self.debug ||= params[:debug] || self.class.debug
|
27
|
-
end
|
28
|
-
|
16
|
+
attr_accessor *ATTRIBUTES
|
17
|
+
|
18
|
+
def initialize(params = {})
|
19
|
+
yield(self) if block_given?
|
20
|
+
assign_attributes(params)
|
21
|
+
end
|
22
|
+
|
29
23
|
# ----------------- BEGIN Pre-configured methods -----------------
|
30
24
|
|
31
25
|
# Login to Emailvision API
|
@@ -69,7 +63,7 @@ module Emailvision
|
|
69
63
|
# method = Method to call
|
70
64
|
# parameters = Parameters to send (optionnal)
|
71
65
|
def call(http_verb, method, parameters = {})
|
72
|
-
params ||= {}
|
66
|
+
params ||= {}
|
73
67
|
|
74
68
|
# == Check presence of these essential attributes ==
|
75
69
|
unless server_name and endpoint
|
@@ -81,111 +75,123 @@ module Emailvision
|
|
81
75
|
|
82
76
|
retries = 2
|
83
77
|
begin
|
84
|
-
|
85
|
-
|
86
|
-
if parameters[:uri]
|
87
|
-
uri += token ? "/#{token}/" : '/'
|
88
|
-
uri += (parameters[:uri].respond_to?(:join) ? parameters[:uri] : [parameters[:uri]]).compact.join '/'
|
89
|
-
parameters.delete :uri
|
90
|
-
elsif parameters[:body]
|
91
|
-
uri += token ? "/#{token}/" : '/'
|
92
|
-
else
|
93
|
-
parameters[:token] = token
|
94
|
-
end
|
95
|
-
|
96
|
-
# == Build body ==
|
97
|
-
# 1. Extract body from parameters
|
98
|
-
body = parameters[:body] || {}
|
99
|
-
parameters.delete :body
|
100
|
-
# 2. Camelize all keys
|
101
|
-
body = Emailvision::Tools.r_camelize body
|
102
|
-
# 3. Convert to xml
|
103
|
-
body_xml = Emailvision::Tools.to_xml_as_is body
|
104
|
-
|
105
|
-
# == Send request ==
|
106
|
-
logger.send "#{uri} with query : #{parameters} and body : #{body}"
|
107
|
-
response = self.class.send http_verb, uri, :query => parameters, :body => body_xml, :timeout => 30
|
108
|
-
|
109
|
-
# == Parse response ==
|
110
|
-
http_code = response.header.code
|
111
|
-
content = {}
|
112
|
-
begin
|
113
|
-
content = Crack::XML.parse response.body
|
114
|
-
rescue MultiXml::ParseError => e
|
115
|
-
logger.send "#{uri} Error when parsing response body (#{e.to_s})"
|
116
|
-
end
|
117
|
-
logger.receive content.inspect
|
78
|
+
uri = prepare_uri(method, parameters)
|
79
|
+
body = prepare_body(parameters)
|
118
80
|
|
119
|
-
#
|
120
|
-
if (http_code == "200") and (content and content["response"])
|
121
|
-
response = content["response"]["result"] || content["response"]
|
122
|
-
else
|
123
|
-
raise Emailvision::Exception.new "#{http_code} - #{content}"
|
124
|
-
end
|
81
|
+
logger.send "#{uri} with query : #{parameters} and body : #{body}"
|
125
82
|
|
126
|
-
|
83
|
+
response = perform_request(http_verb, uri, parameters, body)
|
127
84
|
|
85
|
+
extract_response(response)
|
128
86
|
rescue Emailvision::Exception => e
|
129
87
|
if e.message =~ /Your session has expired/ or e.message =~ /The maximum number of connection allowed per session has been reached/
|
130
|
-
self.close_connection
|
88
|
+
self.close_connection
|
131
89
|
self.open_connection
|
132
90
|
if((retries -= 1) >= 0)
|
133
91
|
retry
|
134
92
|
else
|
135
93
|
raise e
|
136
94
|
end
|
137
|
-
else
|
138
|
-
raise e
|
139
|
-
end
|
140
|
-
rescue Errno::ECONNRESET => e
|
141
|
-
if((retries -= 1) >= 0)
|
142
|
-
retry
|
143
95
|
else
|
144
96
|
raise e
|
145
97
|
end
|
146
|
-
rescue Timeout::Error => e
|
98
|
+
rescue Errno::ECONNRESET, Timeout::Error => e
|
147
99
|
if((retries -= 1) >= 0)
|
148
100
|
retry
|
149
101
|
else
|
150
102
|
raise e
|
151
103
|
end
|
152
104
|
end
|
153
|
-
end
|
105
|
+
end
|
154
106
|
|
155
|
-
|
107
|
+
# Set token
|
156
108
|
# Override
|
157
109
|
def token=(value)
|
158
110
|
@token = value
|
159
111
|
end
|
160
|
-
|
112
|
+
|
161
113
|
# Set endpoint
|
162
114
|
# Override
|
163
115
|
def endpoint=(value)
|
164
|
-
|
165
|
-
|
166
|
-
|
116
|
+
close_connection
|
117
|
+
@endpoint = value
|
118
|
+
end
|
167
119
|
|
168
120
|
# Base uri
|
169
121
|
def base_uri
|
170
122
|
"http://#{server_name}/#{endpoint}/services/rest/"
|
171
123
|
end
|
172
|
-
|
124
|
+
|
173
125
|
# Generate call-chain triggers
|
174
126
|
HTTP_VERBS.each do |http_verb|
|
175
127
|
define_method(http_verb) do
|
176
128
|
Emailvision::Relation.new(self, http_verb)
|
177
129
|
end
|
178
|
-
end
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
130
|
+
end
|
131
|
+
|
132
|
+
private
|
133
|
+
|
134
|
+
def prepare_uri(method, parameters)
|
135
|
+
uri = base_uri + method
|
136
|
+
if parameters[:uri]
|
137
|
+
uri += token ? "/#{token}/" : '/'
|
138
|
+
uri += (parameters[:uri].respond_to?(:join) ? parameters[:uri] : [parameters[:uri]]).compact.join '/'
|
139
|
+
parameters.delete :uri
|
140
|
+
elsif parameters[:body]
|
141
|
+
uri += token ? "/#{token}/" : '/'
|
142
|
+
else
|
143
|
+
parameters[:token] = token
|
144
|
+
end
|
145
|
+
uri
|
146
|
+
end
|
147
|
+
|
148
|
+
def prepare_body(parameters)
|
149
|
+
body = parameters[:body] || {}
|
150
|
+
parameters.delete :body
|
151
|
+
# 2. Camelize all keys
|
152
|
+
body = Emailvision::Tools.r_camelize body
|
153
|
+
# 3. Convert to xml
|
154
|
+
Emailvision::Tools.to_xml_as_is body
|
155
|
+
end
|
156
|
+
|
157
|
+
def perform_request(http_verb, uri, parameters, body)
|
158
|
+
self.class.send http_verb, uri, :query => parameters, :body => body, :timeout => 30
|
159
|
+
end
|
160
|
+
|
161
|
+
def extract_response(response)
|
162
|
+
http_code = response.header.code
|
163
|
+
content = {}
|
164
|
+
begin
|
165
|
+
content = Crack::XML.parse response.body
|
166
|
+
rescue MultiXml::ParseError => e
|
167
|
+
logger.send "#{uri} Error when parsing response body (#{e.to_s})"
|
168
|
+
end
|
169
|
+
logger.receive content.inspect
|
170
|
+
|
171
|
+
if (http_code == "200") and (content and content["response"])
|
172
|
+
response = content["response"]["result"] || content["response"]
|
173
|
+
else
|
174
|
+
raise Emailvision::Exception.new "#{http_code} - #{content}"
|
175
|
+
end
|
176
|
+
end
|
177
|
+
|
178
|
+
def format_response()
|
179
|
+
end
|
180
|
+
|
181
|
+
def assign_attributes(parameters)
|
182
|
+
parameters or return
|
183
|
+
ATTRIBUTES.each do |attribute|
|
184
|
+
public_send("#{attribute}=", (parameters[attribute] || self.class.public_send(attribute)))
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
def logger
|
189
|
+
if @logger.nil?
|
190
|
+
@logger = Emailvision::Logger.new(STDOUT)
|
191
|
+
@logger.level = (debug ? Logger::DEBUG : Logger::WARN)
|
192
|
+
end
|
193
|
+
@logger
|
194
|
+
end
|
195
|
+
|
196
|
+
end
|
191
197
|
end
|
@@ -1,14 +1,14 @@
|
|
1
1
|
module Emailvision
|
2
|
-
class Exception < ::Exception
|
3
|
-
|
2
|
+
class Exception < ::Exception
|
3
|
+
|
4
4
|
attr_accessor :http_status, :error
|
5
|
-
|
5
|
+
|
6
6
|
def initializer(http_status, error)
|
7
7
|
self.http_status = http_status
|
8
8
|
self.error = error
|
9
|
-
|
9
|
+
|
10
10
|
super("EMV API returns #{http_status} status code")
|
11
11
|
end
|
12
|
-
|
12
|
+
|
13
13
|
end
|
14
14
|
end
|
data/lib/emailvision/logger.rb
CHANGED
@@ -1,22 +1,22 @@
|
|
1
1
|
module Emailvision
|
2
2
|
class Logger < ::Logger
|
3
|
-
|
3
|
+
|
4
4
|
attr_accessor :debug
|
5
|
-
|
5
|
+
|
6
6
|
def initializer(*args)
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
debug = false
|
8
|
+
super args
|
9
|
+
end
|
10
|
+
|
11
11
|
# Log a message sent to emailvision
|
12
12
|
def send(message)
|
13
13
|
info("[Emailvision] Send -> #{message}")
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
# Log a message received from emailvision
|
17
17
|
def receive(message)
|
18
18
|
info("[Emailvision] Receive -> #{message}")
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
end
|
22
22
|
end
|
@@ -4,45 +4,45 @@ module Emailvision
|
|
4
4
|
default_timeout 30
|
5
5
|
format :xml
|
6
6
|
headers 'Content-Type' => 'application/xml;charset=utf-8', 'encoding' => 'UTF-8', 'Accept' => '*/*'
|
7
|
-
|
7
|
+
|
8
8
|
class << self
|
9
9
|
attr_accessor :debug
|
10
|
-
end
|
10
|
+
end
|
11
11
|
attr_accessor :debug
|
12
|
-
|
13
|
-
def initialize(params = {})
|
14
|
-
yield(self) if block_given?
|
15
|
-
|
16
|
-
self.debug ||= params[:debug] || self.class.debug
|
17
|
-
end
|
18
|
-
|
19
|
-
def send(body, params = {})
|
12
|
+
|
13
|
+
def initialize(params = {})
|
14
|
+
yield(self) if block_given?
|
15
|
+
|
16
|
+
self.debug ||= params[:debug] || self.class.debug
|
17
|
+
end
|
18
|
+
|
19
|
+
def send(body, params = {})
|
20
20
|
# == Processing body ==
|
21
21
|
body_xml = Emailvision::Tools.to_xml_as_is body
|
22
|
-
|
22
|
+
|
23
23
|
# == Send request ==
|
24
24
|
logger.send "#{base_uri} with body : #{body_xml}"
|
25
25
|
response = self.class.send :post, base_uri, :body => body_xml
|
26
26
|
logger.receive "#{base_uri} with status : #{response.header.inspect}"
|
27
|
-
|
27
|
+
|
28
28
|
# == Check result ==
|
29
|
-
response.header.code == '200'
|
30
|
-
end
|
31
|
-
|
29
|
+
response.header.code == '200'
|
30
|
+
end
|
31
|
+
|
32
32
|
# Base uri
|
33
33
|
def base_uri
|
34
34
|
'http://api.notificationmessaging.com/NMSXML'
|
35
35
|
end
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
end
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def logger
|
40
|
+
if @logger.nil?
|
41
|
+
@logger = Emailvision::Logger.new(STDOUT)
|
42
|
+
@logger.level = (debug ? Logger::DEBUG : Logger::WARN)
|
43
|
+
end
|
44
|
+
@logger
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
48
|
end
|
data/lib/emailvision/railtie.rb
CHANGED
@@ -1,28 +1,24 @@
|
|
1
1
|
require 'rails'
|
2
2
|
|
3
3
|
module Emailvision
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
end
|
4
|
+
class Railtie < Rails::Railtie
|
5
|
+
|
6
|
+
generators do
|
7
|
+
require 'generators/install'
|
8
|
+
end
|
9
|
+
|
10
|
+
config.to_prepare do
|
11
|
+
file = "#{Rails.root}/config/emailvision.yml"
|
12
|
+
if File.exist?(file)
|
13
|
+
config = YAML.load_file(file)[Rails.env] || {}
|
14
|
+
Emailvision::Api.server_name = config['server_name']
|
15
|
+
Emailvision::Api.endpoint = config['endpoint']
|
16
|
+
Emailvision::Api.login = config['login']
|
17
|
+
Emailvision::Api.password = config['password']
|
18
|
+
Emailvision::Api.key = config['key']
|
19
|
+
Emailvision::Api.debug = config['debug']
|
20
|
+
Emailvision::Notification.debug = config['debug']
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
28
24
|
end
|
data/lib/emailvision/relation.rb
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
module Emailvision
|
2
2
|
class Relation
|
3
|
-
|
3
|
+
|
4
4
|
def initialize(instance, http_verb)
|
5
5
|
@instance = instance
|
6
6
|
@http_verb = http_verb
|
7
7
|
@uri = []
|
8
8
|
@options = {}
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
def call(*args)
|
12
12
|
@options.merge! extract_args(args)
|
13
13
|
@instance.call @http_verb, @uri.join('/'), @options
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
def method_missing(method, *args)
|
17
17
|
@uri << method.to_s.camelize(:lower)
|
18
18
|
@options.merge! extract_args(args)
|
19
|
-
self
|
20
|
-
end
|
21
|
-
|
19
|
+
self
|
20
|
+
end
|
21
|
+
|
22
22
|
private
|
23
|
-
|
23
|
+
|
24
24
|
def extract_args(args)
|
25
25
|
(args[0] and args[0].kind_of? Hash) ? args[0] : {}
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
end
|
29
29
|
end
|
data/lib/emailvision/tools.rb
CHANGED
@@ -1,20 +1,12 @@
|
|
1
|
-
module Emailvision
|
1
|
+
module Emailvision
|
2
2
|
class Tools
|
3
3
|
|
4
4
|
def self.sanitize_parameters(parameters)
|
5
|
-
r_each(parameters) do |value|
|
6
|
-
if value.
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
value
|
11
|
-
end
|
12
|
-
elsif value.respond_to?(:to_date)
|
13
|
-
begin
|
14
|
-
date_time_format(value.to_date)
|
15
|
-
rescue StandardError
|
16
|
-
value
|
17
|
-
end
|
5
|
+
r_each(parameters) do |value|
|
6
|
+
if value.kind_of?(DateTime) or value.kind_of?(Time)
|
7
|
+
date_time_format(value.to_datetime)
|
8
|
+
elsif value.kind_of?(Date)
|
9
|
+
date_format(value.to_date)
|
18
10
|
else
|
19
11
|
value
|
20
12
|
end
|
@@ -28,7 +20,7 @@ module Emailvision
|
|
28
20
|
def self.date_format(date)
|
29
21
|
date.strftime('%d/%m/%Y')
|
30
22
|
end
|
31
|
-
|
23
|
+
|
32
24
|
def self.r_camelize(obj)
|
33
25
|
if obj.is_a?(Hash)
|
34
26
|
new_obj = {}
|
@@ -46,16 +38,16 @@ module Emailvision
|
|
46
38
|
obj
|
47
39
|
end
|
48
40
|
end
|
49
|
-
|
41
|
+
|
50
42
|
def self.to_xml_as_is(obj)
|
51
|
-
obj_xml = ""
|
52
|
-
|
43
|
+
obj_xml = ""
|
44
|
+
|
53
45
|
unless obj.nil? or obj.empty?
|
54
46
|
xml = ::Builder::XmlMarkup.new(:target=> obj_xml)
|
55
|
-
xml.instruct! :xml, :version=> "1.0"
|
47
|
+
xml.instruct! :xml, :version=> "1.0"
|
56
48
|
tag_obj xml, obj
|
57
49
|
end
|
58
|
-
|
50
|
+
|
59
51
|
obj_xml
|
60
52
|
end
|
61
53
|
|
@@ -80,35 +72,35 @@ module Emailvision
|
|
80
72
|
end
|
81
73
|
|
82
74
|
result
|
83
|
-
end
|
84
|
-
|
75
|
+
end
|
76
|
+
|
85
77
|
private
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
eval(%{
|
92
|
-
xml.#{key} do
|
93
|
-
tag_obj(xml, value)
|
94
|
-
end
|
95
|
-
})
|
96
|
-
elsif value.is_a?(Array)
|
97
|
-
value.each do |item|
|
78
|
+
|
79
|
+
def self.tag_obj(xml, obj)
|
80
|
+
if obj.is_a? Hash
|
81
|
+
obj.each do |key, value|
|
82
|
+
if value.is_a?(Hash)
|
98
83
|
eval(%{
|
99
84
|
xml.#{key} do
|
100
|
-
tag_obj(xml,
|
85
|
+
tag_obj(xml, value)
|
101
86
|
end
|
102
87
|
})
|
88
|
+
elsif value.is_a?(Array)
|
89
|
+
value.each do |item|
|
90
|
+
eval(%{
|
91
|
+
xml.#{key} do
|
92
|
+
tag_obj(xml, item)
|
93
|
+
end
|
94
|
+
})
|
95
|
+
end
|
96
|
+
else
|
97
|
+
eval %{xml.#{key}(%{#{value}})}
|
103
98
|
end
|
104
|
-
else
|
105
|
-
eval %{xml.#{key}(%{#{value}})}
|
106
99
|
end
|
100
|
+
else
|
101
|
+
obj
|
107
102
|
end
|
108
|
-
else
|
109
|
-
obj
|
110
103
|
end
|
111
|
-
|
112
|
-
|
113
|
-
end
|
104
|
+
|
105
|
+
end
|
114
106
|
end
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: emailvision
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
5
|
-
prerelease:
|
4
|
+
version: 2.1.20
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Bastien Gysler
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-10-
|
11
|
+
date: 2013-10-12 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: httparty
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,7 +27,6 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: crack
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
31
|
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
@@ -38,7 +34,6 @@ dependencies:
|
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
38
|
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
@@ -46,7 +41,6 @@ dependencies:
|
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: builder
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
@@ -54,11 +48,30 @@ dependencies:
|
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: 3.1.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: active_support
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '3.0'
|
62
|
+
- - <=
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: '4.0'
|
65
|
+
type: :runtime
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ! '>='
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '3.0'
|
72
|
+
- - <=
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '4.0'
|
62
75
|
description: REST API wrapper interacting with Emailvision
|
63
76
|
email: basgys@gmail.com
|
64
77
|
executables: []
|
@@ -77,27 +90,25 @@ files:
|
|
77
90
|
- lib/generators/templates/emailvision.yml
|
78
91
|
homepage: http://github.com/basgys/emailvision
|
79
92
|
licenses: []
|
93
|
+
metadata: {}
|
80
94
|
post_install_message:
|
81
95
|
rdoc_options: []
|
82
96
|
require_paths:
|
83
97
|
- lib
|
84
98
|
required_ruby_version: !ruby/object:Gem::Requirement
|
85
|
-
none: false
|
86
99
|
requirements:
|
87
100
|
- - ! '>='
|
88
101
|
- !ruby/object:Gem::Version
|
89
102
|
version: '0'
|
90
103
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
91
|
-
none: false
|
92
104
|
requirements:
|
93
105
|
- - ! '>='
|
94
106
|
- !ruby/object:Gem::Version
|
95
107
|
version: '0'
|
96
108
|
requirements: []
|
97
109
|
rubyforge_project:
|
98
|
-
rubygems_version: 1.
|
110
|
+
rubygems_version: 2.1.4
|
99
111
|
signing_key:
|
100
|
-
specification_version:
|
112
|
+
specification_version: 4
|
101
113
|
summary: Emailvision
|
102
114
|
test_files: []
|
103
|
-
has_rdoc:
|