Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Ruby Gems
/
var
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Snippets
Network
Create a new issue
Builds
Commits
Issue Boards
Authored by
Abraham Rodriguez
2016-01-08 13:26:16 -0600
Browse Files
Options
Browse Files
Download
Email Patches
Plain Diff
Commit
04b08d329c0e7685b4da8ca5ab6b7da03da11baa
04b08d32
1 parent
5e292944
conekta_webhook
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
26 additions
and
2 deletions
lib/var.rb
lib/var/version.rb
lib/var.rb
View file @
04b08d3
...
...
@@ -5,19 +5,42 @@ require 'paypal-sdk-rest'
# Main Module
module
Var
# TODO: add paypal
# @@valid_services = [:conekta, :paypal]
VALID_SERVICES
=
[
:conekta
]
@@var_classes
=
[]
def
self
.
valid_services
VALID_SERVICES
end
def
self
.
var_classes
@@var_classes
end
def
self
.
add_var_class
(
class_name
)
@@var_classes
<<
class_name
unless
@@var_classes
.
include?
class_name
end
def
self
.
create_charge
(
service
,
object
,
options
=
{})
return
{
error_message:
'Service is not supported'
}
unless
VALID_SERVICES
.
include?
service
return
{
error_message:
"
#{
object
.
class
}
doesn't support charges"
}
unless
object
.
respond_to?
(
:charge_with
)
charge
=
object
.
charge_with
(
service
,
options
)
charge
end
def
self
.
conekta_webhook
(
params
)
payment
=
params
[
:data
][
:object
]
object
=
find_charge
payment
[
:id
]
object
.
update_columns
(
var_status:
payment
[
:status
])
true
rescue
Exception
=>
exception
false
end
def
find_charge
(
id
)
@@var_classes
.
map
do
|
class_name
|
class_name
.
where
(
var_id:
id
)
end
.
flatten
.
first
end
end
# Module for models
module
ActsAsChargeable
...
...
@@ -28,6 +51,7 @@ module ActsAsChargeable
include
ChargeableInstanceMethods
cattr_accessor
:sync_attributes
self
.
sync_attributes
=
keys
Var
.
add_var_class
(
self
)
end
end
# Instance Methods
...
...
lib/var/version.rb
View file @
04b08d3
# Var Version
module
Var
VERSION
=
'0.2.
8
'
VERSION
=
'0.2.
9
'
end
...
...
Please
register
or
login
to post a comment