emailvision 2.1.1 → 2.1.2

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.
@@ -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