dineromail 0.0.4 → 0.1.0

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.
data/README.rdoc ADDED
@@ -0,0 +1,49 @@
1
+ = Dineromail / Rails
2
+
3
+ Dineromail is an unofficial library for interacting with the Dineromail payment api.
4
+
5
+ == Getting Started
6
+
7
+ Dineromail is released as a Ruby Gem. The gem is to be installed within a Ruby
8
+ on Rails 3 application. To install, simply add the following to your Gemfile:
9
+
10
+ # Gemfile
11
+ gem 'dineromail'
12
+
13
+ == General Configuration
14
+
15
+ You need to create a config file (config/initializers/dineromail.rb) with:
16
+
17
+ Dineromail.configure do |config|
18
+ config.pay_methods = '' #All the available methods
19
+ config.account_number = 'your_account_number'
20
+ config.password = 'your_password'
21
+ config.logo_url = 'http://my-web.com/images/logo.png'
22
+ config.return_url = 'http://my-web.com/success'
23
+ config.error_url = 'http://my-web.com/error'
24
+ config.currency = Dineromail::Configuration::PESO
25
+ config.ipn_webservice_url = 'https://argentina.dineromail.com/Vender/Consulta_IPN.asp'
26
+ config.payment_url = 'https://argentina.dineromail.com/Shop/Shop_Ingreso.asp'
27
+ config.button_image_url = 'https://argentina.dineromail.com/imagenes/vender/boton/comprar-gris.gif'
28
+ end
29
+
30
+ == Example rails controller
31
+
32
+ class DineromailController < ApplicationController
33
+ def ipn
34
+ notifications = Dineromail::Notification.parse(params[:Notificacion])
35
+ notifications.each do |notify|
36
+ if notify.valid_report? && notify.completed?
37
+ order = Order.find(notify.transaction_id)
38
+ #Allways check the amount
39
+ order.success = order.amount == notify.amount ? 'success' : 'failure'
40
+ order.save
41
+ end
42
+ end
43
+ render :nothing => true
44
+ end
45
+ end
46
+
47
+ == Example dineromail forward page
48
+
49
+ <%= dineromail_button('Item name',price,:transaction_id => @transaction_id) %>
data/dineromail.gemspec CHANGED
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
  s.summary = %q{Dineromail library for Rails}
13
13
  s.description = %q{Integration with dineromail plataform for rails projects}
14
14
 
15
- s.add_dependency "xml-simple"
15
+ s.add_dependency "happymapper"
16
16
  s.add_dependency "httparty"
17
17
  s.add_dependency "rails", ["~> 3.0"]
18
18
  s.add_development_dependency "bundler"
data/lib/dineromail.rb CHANGED
@@ -1,8 +1,9 @@
1
1
  require 'dineromail/version'
2
2
  require 'dineromail/notification'
3
- require 'dineromail/status_report'
4
3
  require 'dineromail/buyer'
4
+ require 'dineromail/operation'
5
5
  require 'dineromail/item'
6
+ require 'dineromail/status_report'
6
7
  require 'dineromail/configuration'
7
8
  require 'dineromail/app/helpers/dineromail_helper'
8
9
  require 'action_controller'
@@ -11,7 +12,7 @@ module Dineromail
11
12
  self.configure do |config|
12
13
  #Default confiuration
13
14
  config.ipn_webservice_url = 'https://argentina.dineromail.com/Vender/Consulta_IPN.asp'
14
- config.currency = 1
15
+ config.currency = Configuration::PESO
15
16
  config.pay_methods = '' #Todos
16
17
  config.payment_url = 'https://argentina.dineromail.com/Shop/Shop_Ingreso.asp'
17
18
  config.button_image_url = 'https://argentina.dineromail.com/imagenes/vender/boton/comprar-gris.gif'
@@ -1,14 +1,16 @@
1
1
  module DineromailHelper
2
2
 
3
- def dineromail_form(item_name,amount,options = {})
3
+ def dineromail_button(item_name,amount,options = {})
4
4
  options = options.symbolize_keys
5
5
  button_image_url = options.delete(:button_image_url) || Dineromail.configuration.button_image_url
6
6
  payment_url = options.delete(:payment_url) || Dineromail.configuration.payment_url
7
7
  form_options = options.delete(:form) || {}
8
8
  form_options[:action] = payment_url
9
9
  content_tag(:form, form_options ) do
10
- dineromail_inputs(item_name,amount,options) +
11
- content_tag(:input,nil, :type => 'image', :src => button_image_url, :border => '0', :name=> 'submit', :alt=>'Pagar con Dineromail' )
10
+ ''.tap do |html|
11
+ html << dineromail_inputs(item_name,amount,options)
12
+ html << content_tag(:input,nil, :type => 'image', :src => button_image_url, :border => '0', :name=> 'submit', :alt=>'Pagar con Dineromail' )
13
+ end
12
14
  end
13
15
  end
14
16
 
@@ -25,19 +27,19 @@ module DineromailHelper
25
27
  transaction_id = options[:transaction_id]
26
28
  item_number = options[:item_number]
27
29
 
28
- html = content_tag(:input,nil, :type => 'hidden', :name => 'NombreItem', :value =>item_name)
29
- html += content_tag(:input,nil, :type => 'hidden', :name => 'TipoMoneda', :value =>currency)
30
- html += content_tag(:input,nil, :type => 'hidden', :name => 'PrecioItem', :value =>amount)
31
- html += content_tag(:input,nil, :type => 'hidden', :name => 'E_Comercio', :value =>account_number)
32
- html += content_tag(:input,nil, :type => 'hidden', :name => 'image_url', :value =>logo_url)
33
- html += content_tag(:input,nil, :type => 'hidden', :name => 'DireccionExito', :value => return_url)
34
- html += content_tag(:input,nil, :type => 'hidden', :name => 'DireccionFracaso', :value => error_url)
35
- html += content_tag(:input,nil, :type => 'hidden', :name => 'Mensaje', :value => message)
36
- html += content_tag(:input,nil, :type => 'hidden', :name => 'MediosPago', :value => pay_methods)
37
- html += content_tag(:input,nil, :type => 'hidden', :name => 'NroItem', :value => item_number) if item_number
38
- html += content_tag(:input,nil, :type => 'hidden', :name => 'TRX_ID', :value => transaction_id) if transaction_id
39
-
40
- html
30
+ ''.tap do |html|
31
+ html << content_tag(:input,nil, :type => 'hidden', :name => 'NombreItem', :value =>item_name)
32
+ html << content_tag(:input,nil, :type => 'hidden', :name => 'TipoMoneda', :value =>currency)
33
+ html << content_tag(:input,nil, :type => 'hidden', :name => 'PrecioItem', :value =>amount)
34
+ html << content_tag(:input,nil, :type => 'hidden', :name => 'E_Comercio', :value =>account_number)
35
+ html << content_tag(:input,nil, :type => 'hidden', :name => 'image_url', :value =>logo_url)
36
+ html << content_tag(:input,nil, :type => 'hidden', :name => 'DireccionExito', :value => return_url)
37
+ html << content_tag(:input,nil, :type => 'hidden', :name => 'DireccionFracaso', :value => error_url)
38
+ html << content_tag(:input,nil, :type => 'hidden', :name => 'Mensaje', :value => message)
39
+ html << content_tag(:input,nil, :type => 'hidden', :name => 'MediosPago', :value => pay_methods)
40
+ html << content_tag(:input,nil, :type => 'hidden', :name => 'NroItem', :value => item_number) if item_number
41
+ html << content_tag(:input,nil, :type => 'hidden', :name => 'TRX_ID', :value => transaction_id) if transaction_id
42
+ end
41
43
  end
42
44
 
43
45
 
@@ -1,12 +1,15 @@
1
1
  module Dineromail
2
2
  class Buyer
3
- attr_accessor :email, :address, :name, :phone, :document_type, :document_number, :comment
3
+ include HappyMapper
4
4
 
5
- def initialize(attributes = {})
6
- attributes.each do |name, value|
7
- send("#{name}=", value)
8
- end
9
- end
5
+ tag 'COMPRADOR'
6
+ element :email, String, :tag => 'EMAIL'
7
+ element :address, String, :tag => 'DIRECCION'
8
+ element :name, String, :tag => 'NOMBRE'
9
+ element :phone, String, :tag => 'TELEFONO'
10
+ element :document_type, String, :tag => 'TIPODOC'
11
+ element :document_number, String, :tag => 'NUMERODOC'
12
+ element :comment, String, :tag => 'COMENTARIO'
10
13
 
11
14
  end
12
15
  end
@@ -2,6 +2,9 @@ module Dineromail
2
2
  class Configuration
3
3
  attr_accessor :payment_url, :ipn_webservice_url, :account_number, :password,
4
4
  :logo_url, :return_url, :error_url, :pay_methods, :currency, :button_image_url
5
+
6
+ PESO = 1
7
+ DOLLAR = 2
5
8
  end
6
9
 
7
10
  class << self
@@ -1,15 +1,15 @@
1
1
  module Dineromail
2
2
  class Item
3
- attr_accessor :description, :currency, :unit_price, :count
3
+ include HappyMapper
4
4
 
5
- DOLLAR = 2
6
- PESO = 1
5
+ tag 'ITEM'
6
+ element :description, String, :tag => 'DESCRIPCION'
7
+ element :currency, Integer, :tag => 'MONEDA'
8
+ element :unit_price, Float, :tag => 'PRECIOUNITARIO'
9
+ element :count, Integer, :tag => 'CANTIDAD'
7
10
 
8
- def initialize(attributes = {})
9
- attributes.each do |name, value|
10
- send("#{name}=", value)
11
- end
12
- end
11
+ DOLLAR = 2
12
+ PESO = 1
13
13
 
14
14
  end
15
15
  end
@@ -1,35 +1,27 @@
1
- require 'xmlsimple'
1
+ require 'happymapper'
2
2
  module Dineromail
3
3
  class Notification
4
+ include HappyMapper
4
5
 
5
- attr_reader :transaction_id, :tipo
6
-
7
- def initialize(transaction_id, tipo = nil)
8
- @transaction_id = transaction_id
9
- @tipo = tipo
10
- end
6
+ tag 'OPERACION'
7
+ element :transaction_id, Integer, :tag => 'ID'
8
+ element :type, String, :tag => 'TIPO'
11
9
 
12
10
  def status_report
13
11
  unless @status_report
14
- @status_report = StatusReport.new(transaction_id)
12
+ @status_report = StatusReport.get_report_for(transaction_id)
15
13
  end
16
14
  @status_report
17
15
  end
18
16
 
19
- def self.from_xml(notification_xml)
20
- notifications = []
21
- notificaction_data = XmlSimple.xml_in(notification_xml,'KeyToSymbol' => true)
22
- operations = notificaction_data[:operaciones].first[:operacion]
23
- operations.each do |operation|
24
- tipo = operation[:tipo].first
25
- transaction_id = operation[:id].first
26
- notifications << self.new(transaction_id, tipo)
27
- end
28
- notifications
17
+ def valid_report?
18
+ status_report.valid_report?
29
19
  end
30
20
 
31
- def self.method_missing(symbol, *args)
32
- status_report.send(symbol, *args)
21
+ def method_missing(symbol, *args)
22
+ unless status_report.operations.empty?
23
+ status_report.operations.first.send(symbol, *args)
24
+ end
33
25
  end
34
26
 
35
27
  end
@@ -0,0 +1,34 @@
1
+ require 'dineromail/item'
2
+ module Dineromail
3
+ class Operation
4
+ include HappyMapper
5
+
6
+ tag 'OPERACION'
7
+ element :transaction_id, Integer, :tag => 'ID'
8
+ element :date, DateTime, :tag => 'FECHA'
9
+ element :status, Integer, :tag => 'ESTADO'
10
+ element :amount, Float, :tag => 'MONTO'
11
+ element :net_amount, Float, :tag => 'MONTONETO'
12
+ element :pay_method, String, :tag => 'METODOPAGO'
13
+ element :pay_medium, String, :tag => 'MEDIOPAGO'
14
+ has_one :buyer, Buyer, :tag => 'COMPRADOR'
15
+ has_many :items, Dineromail::Item, :tag => 'ITEM'
16
+
17
+ PENDING_STATUS = 1
18
+ COMPLETED_STATUS = 2
19
+ CANCELLED_STATUS = 3
20
+
21
+ def pending?
22
+ status == PENDING_STATUS
23
+ end
24
+
25
+ def completed?
26
+ status == ACCREDITED_STATUS
27
+ end
28
+
29
+ def cancelled?
30
+ status == CANCELLED_STATUS
31
+ end
32
+
33
+ end
34
+ end
@@ -1,13 +1,16 @@
1
- require 'xmlsimple'
1
+ require 'happymapper'
2
2
  require 'httparty'
3
3
  require 'dineromail/buyer'
4
+ require 'dineromail/operation'
4
5
  module Dineromail
5
6
  class StatusReport
6
- attr_accessor :transaction_id, :date,:report_status, :status, :amount, :net_amount, :pay_method, :pay_medium, :buyer, :items
7
+ attr_accessor :transaction_id
7
8
 
8
- PENDING_STATUS = 1
9
- COMPLETED_STATUS = 2
10
- CANCELLED_STATUS = 3
9
+ include HappyMapper
10
+
11
+ tag 'REPORTE'
12
+ element :report_status, Integer, :tag => 'ESTADOREPORTE'
13
+ has_many :operations, Operation
11
14
 
12
15
  VALID_REPORT_STATUS = 1
13
16
  MALFORMED_REPORT_STATUS = 2
@@ -18,31 +21,12 @@ module Dineromail
18
21
  INVALID_PASSWORD_OR_ACCOUNT_NUMBER_REQUEST_STATUS = 7
19
22
  TRANSACTION_NOT_FOUND_REQUEST_STATUS = 8
20
23
 
21
- def initialize(transaction_id = nil)
22
- @items = []
23
- if transaction_id
24
- obtain_status_report_data_for transaction_id
25
- end
26
- end
27
-
28
24
  def valid_report?
29
25
  report_status == VALID_REPORT_STATUS
30
26
  end
31
27
 
32
- def pending?
33
- status == PENDING_STATUS
34
- end
35
28
 
36
- def completed?
37
- status == ACCREDITED_STATUS
38
- end
39
-
40
- def cancelled?
41
- status == CANCELLED_STATUS
42
- end
43
-
44
- def obtain_status_report_data_for(transaction_id)
45
- self.transaction_id = transaction_id
29
+ def self.get_report_for(transaction_id)
46
30
  account_number = Dineromail.configuration.account_number
47
31
  password = Dineromail.configuration.password
48
32
  ipn_url = Dineromail.configuration.ipn_webservice_url
@@ -59,41 +43,7 @@ module Dineromail
59
43
  </DETALLE>
60
44
  </REPORTE>"
61
45
  response = HTTParty.get ipn_url , :query => {:data => request_data}
62
- parse_response response.body
63
- end
64
-
65
- def parse_response(response)
66
- response_data = XmlSimple.xml_in(response,'KeyToSymbol' => true )
67
- self.report_status = response_data[:estadoreporte].first.to_i
68
- operations = response_data[:detalle].first[:operaciones].first
69
- if operations
70
- operation = operations[:operacion].first
71
- self.transaction_id = operation[:id].first.to_i
72
- self.date = DateTime.parse operation[:fecha].first
73
- self.status = operation[:estado].first.to_i
74
- self.amount = operation[:monto].first.to_f
75
- self.net_amount = operation[:montoneto].first.to_f
76
- self.pay_method = operation[:metodopago].first
77
- self.pay_medium = operation[:mediopago].first
78
- buyer_data = operation[:comprador].first
79
- self.buyer = Buyer.new
80
- buyer.email = buyer_data[:email].first
81
- buyer.address = buyer_data[:direccion].first
82
- buyer.comment = buyer_data[:comentario].first
83
- buyer.name = buyer_data[:nombre].first
84
- buyer.phone = buyer_data[:telefono].first
85
- buyer.document_type = buyer_data[:tipodoc].first
86
- buyer.document_number = buyer_data[:numerodoc].first
87
- items_data = operation[:items].first[:item]
88
- items_data.each do |item_data|
89
- item = Item.new
90
- item.description = item_data[:descripcion].first
91
- item.currency = item_data[:moneda].first.to_i
92
- item.unit_price = item_data[:preciounitario].first.to_f
93
- item.count = item_data[:cantidad].first.to_i
94
- self.items << item
95
- end
96
- end
46
+ self.parse response.body
97
47
  end
98
48
 
99
49
  end
@@ -1,3 +1,3 @@
1
1
  module Dineromail
2
- VERSION = "0.0.4"
2
+ VERSION = "0.1.0"
3
3
  end
@@ -2,13 +2,24 @@ require 'spec_helper'
2
2
 
3
3
  describe Dineromail::Notification do
4
4
  it 'should load the notifications from the notification xml' do
5
- notification_xml = '<NOTIFICACION><TIPONOTIFICACION>1</TIPONOTIFICACION><OPERACIONES><OPERACION><TIPO>1</TIPO><ID>31548</ID></OPERACION><OPERACION><TIPO>1</TIPO><ID>XA5547</ID></OPERACION></OPERACIONES></NOTIFICACION>'
6
- notifications = Dineromail::Notification.from_xml(notification_xml)
5
+ notification_xml = File.read( 'spec/fixtures/notification.xml')
6
+ notifications = Dineromail::Notification.parse(notification_xml)
7
7
  notifications.count.should == 2
8
- notifications.first.transaction_id.should == '31548'
9
- notifications.last.transaction_id.should == 'XA5547'
8
+ notifications.first.transaction_id.should == 1889
9
+ notifications.last.transaction_id.should == 5547
10
10
  end
11
11
 
12
-
12
+ it 'should get automaticaly the status data associated with the notification' do
13
+ HTTParty.stub!(:get).and_return {
14
+ response = Object.new
15
+ response.stub!(:body).and_return(File.read( 'spec/fixtures/status_report.xml'))
16
+ response
17
+ }
18
+ notification_xml = File.read( 'spec/fixtures/notification.xml')
19
+ notifications = Dineromail::Notification.parse(notification_xml)
20
+ notification = notifications.first
21
+ notification.valid_report?.should be_true
22
+ notification.net_amount.should == 50.3
23
+ end
13
24
 
14
25
  end
@@ -2,48 +2,22 @@ require 'spec_helper'
2
2
 
3
3
  describe Dineromail::StatusReport do
4
4
  it 'should load the status report from xml' do
5
- xml = '<REPORTE><ESTADOREPORTE>1</ESTADOREPORTE><DETALLE><OPERACIONES><OPERACION>
6
- <ID>1889</ID>
7
- <FECHA>01/28/2011 12:02:01 PM</FECHA>
8
- <ESTADO>1</ESTADO>
9
- <NUMTRANSACCION>67777</NUMTRANSACCION>
10
- <COMPRADOR>
11
- <EMAIL>comprador@email.com</EMAIL>
12
- <DIRECCION>San Martin 10</DIRECCION>
13
- <COMENTARIO>comentario</COMENTARIO>
14
- <NOMBRE>Juan</NOMBRE>
15
- <TELEFONO>4444444</TELEFONO>
16
- <TIPODOC>DNI</TIPODOC>
17
- <NUMERODOC>222222222</NUMERODOC>
18
- </COMPRADOR>
19
- <MONTO>60.2</MONTO>
20
- <MONTONETO>50.3</MONTONETO>
21
- <METODOPAGO>TARJETA DE CREDITO</METODOPAGO>
22
- <MEDIOPAGO>VISA</MEDIOPAGO>
23
- <CUOTAS>1</CUOTAS>
24
- <ITEMS>
25
- <ITEM>
26
- <DESCRIPCION>Libro</DESCRIPCION>
27
- <MONEDA>1</MONEDA>
28
- <PRECIOUNITARIO>6.90</PRECIOUNITARIO>
29
- <CANTIDAD>2</CANTIDAD>
30
- </ITEM>
31
- </ITEMS><VENDEDOR><TIPODOC></TIPODOC><NUMERODOC></NUMERODOC></VENDEDOR></OPERACION></OPERACIONES></DETALLE></REPORTE>'
5
+ xml = File.read( 'spec/fixtures/status_report.xml')
32
6
 
33
- status_report = Dineromail::StatusReport.new
34
- status_report.parse_response(xml)
35
- buyer = status_report.buyer
36
- item = status_report.items.first
7
+ status_report = Dineromail::StatusReport.parse(xml)
8
+ operation = status_report.operations.first
9
+ buyer = operation.buyer
10
+ item = operation.items.first
37
11
 
38
12
  status_report.report_status.should == 1
39
13
  status_report.valid_report?.should be_true
40
- status_report.transaction_id.should == 1889
41
- status_report.date.should == DateTime.ordinal(2011,28,12,2,1)
42
- status_report.status.should == Dineromail::StatusReport::PENDING_STATUS
43
- status_report.amount.should == 60.2
44
- status_report.net_amount.should == 50.3
45
- status_report.pay_method.should == 'TARJETA DE CREDITO'
46
- status_report.pay_medium.should == 'VISA'
14
+ operation.transaction_id.should == 1889
15
+ operation.date.should == DateTime.ordinal(2011,28,12,2,1)
16
+ operation.status.should == Dineromail::Operation::PENDING_STATUS
17
+ operation.amount.should == 60.2
18
+ operation.net_amount.should == 50.3
19
+ operation.pay_method.should == 'TARJETA DE CREDITO'
20
+ operation.pay_medium.should == 'VISA'
47
21
  buyer.email.should == 'comprador@email.com'
48
22
  buyer.address.should == 'San Martin 10'
49
23
  buyer.comment.should == 'comentario'
@@ -52,7 +26,7 @@ describe Dineromail::StatusReport do
52
26
  buyer.document_type.should == 'DNI'
53
27
  buyer.document_number.should == '222222222'
54
28
  item.description.should == 'Libro'
55
- item.currency.should == 1
29
+ item.currency.should == Dineromail::Configuration::PESO
56
30
  item.count.should == 2
57
31
  item.unit_price.should == 6.9
58
32
  end
@@ -0,0 +1,14 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <NOTIFICACION>
3
+ <TIPONOTIFICACION>1</TIPONOTIFICACION>
4
+ <OPERACIONES>
5
+ <OPERACION>
6
+ <TIPO>1</TIPO>
7
+ <ID>1889</ID>
8
+ </OPERACION>
9
+ <OPERACION>
10
+ <TIPO>1</TIPO>
11
+ <ID>5547</ID>
12
+ </OPERACION>
13
+ </OPERACIONES>
14
+ </NOTIFICACION>
@@ -0,0 +1,40 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <REPORTE>
3
+ <ESTADOREPORTE>1</ESTADOREPORTE>
4
+ <DETALLE>
5
+ <OPERACIONES>
6
+ <OPERACION>
7
+ <ID>1889</ID>
8
+ <FECHA>01/28/2011 12:02:01 PM</FECHA>
9
+ <ESTADO>1</ESTADO>
10
+ <NUMTRANSACCION>67777</NUMTRANSACCION>
11
+ <COMPRADOR>
12
+ <EMAIL>comprador@email.com</EMAIL>
13
+ <DIRECCION>San Martin 10</DIRECCION>
14
+ <COMENTARIO>comentario</COMENTARIO>
15
+ <NOMBRE>Juan</NOMBRE>
16
+ <TELEFONO>4444444</TELEFONO>
17
+ <TIPODOC>DNI</TIPODOC>
18
+ <NUMERODOC>222222222</NUMERODOC>
19
+ </COMPRADOR>
20
+ <MONTO>60.2</MONTO>
21
+ <MONTONETO>50.3</MONTONETO>
22
+ <METODOPAGO>TARJETA DE CREDITO</METODOPAGO>
23
+ <MEDIOPAGO>VISA</MEDIOPAGO>
24
+ <CUOTAS>1</CUOTAS>
25
+ <ITEMS>
26
+ <ITEM>
27
+ <DESCRIPCION>Libro</DESCRIPCION>
28
+ <MONEDA>1</MONEDA>
29
+ <PRECIOUNITARIO>6.90</PRECIOUNITARIO>
30
+ <CANTIDAD>2</CANTIDAD>
31
+ </ITEM>
32
+ </ITEMS>
33
+ <VENDEDOR>
34
+ <TIPODOC></TIPODOC>
35
+ <NUMERODOC></NUMERODOC>
36
+ </VENDEDOR>
37
+ </OPERACION>
38
+ </OPERACIONES>
39
+ </DETALLE>
40
+ </REPORTE>
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dineromail
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 27
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
+ - 1
8
9
  - 0
9
- - 4
10
- version: 0.0.4
10
+ version: 0.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Nicolas Mosconi
@@ -17,11 +17,11 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2011-06-02 00:00:00 -03:00
20
+ date: 2011-06-23 00:00:00 -03:00
21
21
  default_executable:
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
24
- name: xml-simple
24
+ name: happymapper
25
25
  prerelease: false
26
26
  requirement: &id001 !ruby/object:Gem::Requirement
27
27
  none: false
@@ -105,6 +105,7 @@ extra_rdoc_files: []
105
105
  files:
106
106
  - .gitignore
107
107
  - Gemfile
108
+ - README.rdoc
108
109
  - Rakefile
109
110
  - dineromail.gemspec
110
111
  - lib/dineromail.rb
@@ -113,10 +114,13 @@ files:
113
114
  - lib/dineromail/configuration.rb
114
115
  - lib/dineromail/item.rb
115
116
  - lib/dineromail/notification.rb
117
+ - lib/dineromail/operation.rb
116
118
  - lib/dineromail/status_report.rb
117
119
  - lib/dineromail/version.rb
118
120
  - spec/dineromail/notification_spec.rb
119
121
  - spec/dineromail/status_report_spec.rb
122
+ - spec/fixtures/notification.xml
123
+ - spec/fixtures/status_report.xml
120
124
  - spec/spec_helper.rb
121
125
  has_rdoc: true
122
126
  homepage: ""