emailvision 2.1.1 → 2.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,6 +11,7 @@ module Emailvision
11
11
  autoload :Logger, 'emailvision/logger'
12
12
  autoload :Relation, 'emailvision/relation'
13
13
  autoload :Tools, 'emailvision/tools'
14
+ autoload :Notification, 'emailvision/notification'
14
15
 
15
16
  if defined?(Rails)
16
17
  require 'emailvision/railtie'
@@ -0,0 +1,37 @@
1
+ module Emailvision
2
+ class Notification
3
+ include HTTParty
4
+ default_timeout 30
5
+ format :xml
6
+ headers 'Content-Type' => 'application/xml;charset=utf-8', 'encoding' => 'UTF-8', 'Accept' => '*/*'
7
+
8
+ def send(body)
9
+ # == Processing body ==
10
+ body_xml = Emailvision::Tools.to_xml_as_is body
11
+
12
+ # == Send request ==
13
+ logger.send "#{base_uri} with body : #{body_xml}"
14
+ response = self.class.send :post, base_uri, :body => body_xml
15
+ logger.receive "#{base_uri} with status : #{response.header.inspect}"
16
+
17
+ # == Check result ==
18
+ response.header.code == '200'
19
+ end
20
+
21
+ # Base uri
22
+ def base_uri
23
+ 'http://api.notificationmessaging.com/NMSXML'
24
+ end
25
+
26
+ private
27
+
28
+ def logger
29
+ if @logger.nil?
30
+ @logger = Emailvision::Logger.new(STDOUT)
31
+ @logger.level = Logger::DEBUG
32
+ end
33
+ @logger
34
+ end
35
+
36
+ end
37
+ end
@@ -34,24 +34,22 @@ module Emailvision
34
34
  def self.tag_obj(xml, obj)
35
35
  if obj.is_a? Hash
36
36
  obj.each do |key, value|
37
- if value.is_a?(Hash)
38
- eval <<-EOS
37
+ if value.is_a?(Hash)
38
+ eval(%{
39
39
  xml.#{key} do
40
- tag_obj xml, value
40
+ tag_obj(xml, value)
41
41
  end
42
- EOS
42
+ })
43
43
  elsif value.is_a?(Array)
44
44
  value.each do |item|
45
- eval <<-EOS
45
+ eval(%{
46
46
  xml.#{key} do
47
- tag_obj xml, item
47
+ tag_obj(xml, item)
48
48
  end
49
- EOS
49
+ })
50
50
  end
51
51
  else
52
- eval <<-EOS
53
- xml.#{key} '#{value}'
54
- EOS
52
+ eval %{xml.#{key}(%{#{value}})}
55
53
  end
56
54
  end
57
55
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emailvision
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-09-26 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: httparty
16
- requirement: &2155649020 !ruby/object:Gem::Requirement
16
+ requirement: &2155021500 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.8.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2155649020
24
+ version_requirements: *2155021500
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: crack
27
- requirement: &2155648280 !ruby/object:Gem::Requirement
27
+ requirement: &2155021000 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: 0.3.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2155648280
35
+ version_requirements: *2155021000
36
36
  description: REST API wrapper interacting with Emailvision
37
37
  email: basgys@gmail.com
38
38
  executables: []
@@ -42,6 +42,7 @@ files:
42
42
  - lib/emailvision/api.rb
43
43
  - lib/emailvision/exception.rb
44
44
  - lib/emailvision/logger.rb
45
+ - lib/emailvision/notification.rb
45
46
  - lib/emailvision/railtie.rb
46
47
  - lib/emailvision/relation.rb
47
48
  - lib/emailvision/tools.rb