dineromail 0.0.4 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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: ""