alectrico-tbk 0.1.9.pre.beta.5 → 0.1.9.pre.beta.6
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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +0 -0
- metadata +3 -15
- metadata.gz.sig +0 -0
- data/lib/alectrico/tbk/core_ext.rb +0 -39
- data/lib/alectrico/tbk/middleware.rb +0 -37
- data/lib/alectrico/tbk/pago.rb +0 -52
- data/lib/alectrico/tbk/payable.rb +0 -59
- data/lib/alectrico/tbk/railtie.rb +0 -25
- data/lib/alectrico/tbk/tasks/alectrico_tbk_link_genera.rake +0 -12
- data/lib/alectrico/tbk/version.rb +0 -5
- data/lib/alectrico/tbk.rb +0 -22
- data/lib/alectrico.rb +0 -4
- data/lib/middleware.rb +0 -11
- data/lib/tasks/alectrico/tbk_tasks.rake +0 -5
- data/lib/tasks/alectrico_tasks.rake +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 56162a9c082ae11549dee44a62f09fe7ee31b618c44898efbc05fe515ee3508d
|
4
|
+
data.tar.gz: 12a902d818f5f866aa48b70969bb4e71e6719bb5b9a3a0ec69575222c28c4b7f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1cc2b40698ef81da077242560a474d52e730b36a74c27b250ab831e9212301e231b95a19bebcbb9ba8f2e1f71e960ada3f3cd0e2541bfd9cd0eb1a60b35d6e8a
|
7
|
+
data.tar.gz: 9481cecbcca01a8392ba40efc20c0f286cceb80f1b5311ad21ca02c3bcaa7121240d889a2ec67a554dc1f79c7e57b1d8df2d4e5e1559e9308ee11138c0d7c8e8
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alectrico-tbk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.9.pre.beta.
|
4
|
+
version: 0.1.9.pre.beta.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- alectrico®
|
@@ -42,7 +42,7 @@ dependencies:
|
|
42
42
|
requirements:
|
43
43
|
- - ">="
|
44
44
|
- !ruby/object:Gem::Version
|
45
|
-
version:
|
45
|
+
version: 5.0.0
|
46
46
|
- - "<"
|
47
47
|
- !ruby/object:Gem::Version
|
48
48
|
version: 9.0.0
|
@@ -52,7 +52,7 @@ dependencies:
|
|
52
52
|
requirements:
|
53
53
|
- - ">="
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
55
|
+
version: 5.0.0
|
56
56
|
- - "<"
|
57
57
|
- !ruby/object:Gem::Version
|
58
58
|
version: 9.0.0
|
@@ -86,18 +86,6 @@ extra_rdoc_files: []
|
|
86
86
|
files:
|
87
87
|
- README.md
|
88
88
|
- Rakefile
|
89
|
-
- lib/alectrico.rb
|
90
|
-
- lib/alectrico/tbk.rb
|
91
|
-
- lib/alectrico/tbk/core_ext.rb
|
92
|
-
- lib/alectrico/tbk/middleware.rb
|
93
|
-
- lib/alectrico/tbk/pago.rb
|
94
|
-
- lib/alectrico/tbk/payable.rb
|
95
|
-
- lib/alectrico/tbk/railtie.rb
|
96
|
-
- lib/alectrico/tbk/tasks/alectrico_tbk_link_genera.rake
|
97
|
-
- lib/alectrico/tbk/version.rb
|
98
|
-
- lib/middleware.rb
|
99
|
-
- lib/tasks/alectrico/tbk_tasks.rake
|
100
|
-
- lib/tasks/alectrico_tasks.rake
|
101
89
|
homepage: https://www.alectrico.cl
|
102
90
|
licenses:
|
103
91
|
- MIT
|
metadata.gz.sig
CHANGED
Binary file
|
@@ -1,39 +0,0 @@
|
|
1
|
-
require 'base64'
|
2
|
-
class String
|
3
|
-
|
4
|
-
#Esto es una sobrecarga de la clase String que agrega
|
5
|
-
#un método de instancia to_squawk
|
6
|
-
|
7
|
-
def to_squawk
|
8
|
-
"squawk! #{self}".strip
|
9
|
-
end
|
10
|
-
|
11
|
-
#Decodifica un path que tenga un token
|
12
|
-
#
|
13
|
-
def detokeniza
|
14
|
-
id = /\S*\/(?<token>\S*)\/link_de_pago_tbk/.match( self)
|
15
|
-
return id['token'] if id
|
16
|
-
nil
|
17
|
-
end
|
18
|
-
|
19
|
-
#self es el id de un modelo
|
20
|
-
def tokeniza( action_url, host )
|
21
|
-
puts "en tokeniza de String"
|
22
|
-
puts "action_url: "
|
23
|
-
puts action_url
|
24
|
-
id = self.to_i
|
25
|
-
puts "id: "
|
26
|
-
puts id
|
27
|
-
token = Base64::encode64( id.to_s )
|
28
|
-
begin
|
29
|
-
Rails.application.routes.url_helpers.send( action_url.to_sym, token, :only_path => false, :host => host )
|
30
|
-
rescue NoMethodError => e
|
31
|
-
puts "Hay un error, #{action_url} no se puede usar en su modelo"
|
32
|
-
puts "Debe usar este hook en su modelo:"
|
33
|
-
puts "payable alectrico_text_field: #{action_url.to_sym}"
|
34
|
-
puts "O usar otro argumento en tokeniza"
|
35
|
-
nil
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
module Alectrico
|
2
|
-
module Tbk
|
3
|
-
class Middleware
|
4
|
-
def initialize(app)
|
5
|
-
@app = app
|
6
|
-
end
|
7
|
-
|
8
|
-
def call(env)
|
9
|
-
@class_name.to_s.downcase.pluralize
|
10
|
-
path = env['PATH_INFO']
|
11
|
-
token = path.detokeniza
|
12
|
-
if token
|
13
|
-
puts ")))))))))))))))))))))))))))))))))))))))))))))))))))"
|
14
|
-
puts "token = #{token}"
|
15
|
-
id = Base64.decode64(token)
|
16
|
-
reporte = Reporte.find_by(:id => id)
|
17
|
-
if reporte.present?
|
18
|
-
#set_current_fono
|
19
|
-
#return [200, {}, ['Yo soy tu padre, Camilo']]
|
20
|
-
puts "Se encontró reporte: #{reporte.inspect}"
|
21
|
-
else
|
22
|
-
#return [404, {}, ['No pasa nada']]
|
23
|
-
end
|
24
|
-
|
25
|
-
puts "id = #{id.to_i}"
|
26
|
-
puts "Request: #{env['REQUEST_METHOD']} #{env['PATH_INFO']}"
|
27
|
-
puts ")))))))))))))))))))))))))))))))))))))))))))))))))))))"
|
28
|
-
end
|
29
|
-
#return [200, {}, ['I am a middleware']]
|
30
|
-
# Modify the request or response here
|
31
|
-
status, headers, response = @app.call(env)
|
32
|
-
[status, headers, response]
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
data/lib/alectrico/tbk/pago.rb
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
#Aquí empieza la programación
|
2
|
-
#Si desde el hospedero de la gema
|
3
|
-
#Se instala la gema con bundle install
|
4
|
-
#Aprece el mensaje en puts
|
5
|
-
#Tambíen cuando se llama a rake tasks
|
6
|
-
#desde el hospedero
|
7
|
-
#require "alectrico/tbk/version"
|
8
|
-
#require "alectrico/tbk/core_ext"
|
9
|
-
#require "alectrico/tbk/payable"
|
10
|
-
|
11
|
-
|
12
|
-
module Alectrico
|
13
|
-
module Tbk
|
14
|
-
#las url, exceptp la de imagen, deben ser generadas por el url_helper de Rails
|
15
|
-
class Pago
|
16
|
-
|
17
|
-
#las url, exceptp la de imagen, deben ser generadas por el url_helper de Rails
|
18
|
-
# email,
|
19
|
-
# servicio,
|
20
|
-
# presupuesto,
|
21
|
-
# repositorio,
|
22
|
-
# imagen_url,
|
23
|
-
# listener_url,
|
24
|
-
# return_url,
|
25
|
-
# cancel_url,
|
26
|
-
# notify_url
|
27
|
-
def initialize(
|
28
|
-
email,
|
29
|
-
servicio,
|
30
|
-
presupuesto,
|
31
|
-
repositorio,
|
32
|
-
imagen_url,
|
33
|
-
listener_url,
|
34
|
-
return_url,
|
35
|
-
cancel_url,
|
36
|
-
notify_url )
|
37
|
-
puts "En Alectrico::Tbk::Pago"
|
38
|
-
end
|
39
|
-
#caso = ::Comercio::Compra::Unitaria::Webpay::Nominativo::Manual.new(
|
40
|
-
# repositorio,
|
41
|
-
# listener_url,
|
42
|
-
# return_url,
|
43
|
-
# cancel_url,
|
44
|
-
# image_url,
|
45
|
-
# notify_url
|
46
|
-
#)
|
47
|
-
#aso.crea {:id => servicio.id,
|
48
|
-
# :amp_cliente_id => email,
|
49
|
-
# :presupuesto_id => presupuesto.id }
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
@@ -1,59 +0,0 @@
|
|
1
|
-
module Alectrico
|
2
|
-
module Tbk
|
3
|
-
module Payable
|
4
|
-
extend ActiveSupport::Concern
|
5
|
-
class_methods do
|
6
|
-
#class_methods es un hook proporcionado por extend ActiveSupport::Concern
|
7
|
-
#que permite definir métodos de clases on the fly
|
8
|
-
#En este caso el método acts_as_alectrico se puede usar como hook al comienzo
|
9
|
-
#de las clases que lo quieran usar
|
10
|
-
#El método en sí define un atribute de clase llamado alectrico_text_field
|
11
|
-
#El cual tendrá como valor por defecto lo que se suministre como argumento
|
12
|
-
#Si se llama acts_as_alectrico sin argumentos se usará como default el valor
|
13
|
-
#que tenga el valor por defecto que proporciona el método last_squack
|
14
|
-
#Pero si en opciones se ya colocado alectrico_test_field entonces se usará
|
15
|
-
#el valor devuelo por el hash de optinoes con key alectrico_text_field
|
16
|
-
def payable(options = {} )
|
17
|
-
cattr_accessor :url, default: (options[:url] || :last_squawk).to_s
|
18
|
-
end
|
19
|
-
end
|
20
|
-
included do
|
21
|
-
#Estos son métodos de instancia incorporados
|
22
|
-
#Es equivalente a usar include Module.
|
23
|
-
#Pero al usar ActiveSupport::Concern es más fácil
|
24
|
-
#Porque el do espera un módulo
|
25
|
-
#En este caso el módulo sin nombre solo aporte el método squawk
|
26
|
-
#Este método squawk solo estará accesible como método de instancia
|
27
|
-
#por virtude del uso del hook inluded.
|
28
|
-
def squawk( string )
|
29
|
-
#escribe el valor string.to_squawk al atributo devuelto por self.class.alectrico_text_field
|
30
|
-
#pero string.to_squawn ha sido sobrecargado (monkey patching en lib)
|
31
|
-
#y class_alectrico_text_field responde de acuerdo a cómo se le llame
|
32
|
-
write_attribute(self.class.alectrico_text_field, string.to_squawk)
|
33
|
-
end
|
34
|
-
|
35
|
-
# prepara un link de pago tbk para cobrar
|
36
|
-
# un servicio en la clase que lo llame
|
37
|
-
# la clase de fijar el campo que lo va a
|
38
|
-
# recibir eso se hace
|
39
|
-
# colocando el hook acts_as_alectrico y colocando el nombre del
|
40
|
-
# campo que guardará el link en la tabla de ActiveRecord
|
41
|
-
# debe existir ese campo para que esto funcione
|
42
|
-
# debe existe el campo
|
43
|
-
# cuando el usario siga el link obtenido, se tomará el precio
|
44
|
-
# de la visita del colaborador para generar el link que vaya
|
45
|
-
# a transbank.cl
|
46
|
-
# @param [String] url args to url_helpers
|
47
|
-
# @param [Numeric] id id of model
|
48
|
-
# url has to be :tbk_api_v1_electrico_reporte_url
|
49
|
-
#
|
50
|
-
def tokeniza( action_url, host )
|
51
|
-
# url = Rails.application.routes.url_helpers.send( url.to_sym, self.id, :only_path => true )
|
52
|
-
#rite_attribute(self.class.alectrico_text_field, url.post_tokeniza(self.id))
|
53
|
-
write_attribute(self.class.url, self.id.to_s.tokeniza( action_url, host ))
|
54
|
-
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|
59
|
-
end
|
@@ -1,25 +0,0 @@
|
|
1
|
-
module Alectrico
|
2
|
-
module Tbk
|
3
|
-
class Railtie < Rails::Railtie
|
4
|
-
|
5
|
-
initializer "alectrico_tbk.configure_rails_initialization" do |app|
|
6
|
-
|
7
|
-
# puts "Middleware Alectrico::Tbk en uso"
|
8
|
-
# some initialization behavior
|
9
|
-
# app.middleware.use Alectrico::Tbk::Middleware
|
10
|
-
end
|
11
|
-
|
12
|
-
config.to_prepare do
|
13
|
-
Alectrico::Tbk.setup!
|
14
|
-
end
|
15
|
-
|
16
|
-
rake_tasks do
|
17
|
-
load "alectrico/tbk/tasks/alectrico_tbk_link_genera.rake"
|
18
|
-
end
|
19
|
-
|
20
|
-
server do
|
21
|
-
#WebpackServer.start
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
data/lib/alectrico/tbk.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
#Estos requires los usa el hospedero
|
2
|
-
#Todas las clases de lib/alectrico/tbk
|
3
|
-
#Deben estar aquí
|
4
|
-
require 'alectrico/tbk/pago'
|
5
|
-
require 'alectrico/tbk/payable'
|
6
|
-
require 'alectrico/tbk/core_ext'
|
7
|
-
require 'alectrico/tbk/middleware'
|
8
|
-
require 'alectrico/tbk/version'
|
9
|
-
require "alectrico/tbk/railtie" if defined?(Rails::Railtie)
|
10
|
-
|
11
|
-
module Alectrico
|
12
|
-
module Tbk
|
13
|
-
class Hola
|
14
|
-
puts "alectrico® lo saluda :)"
|
15
|
-
end
|
16
|
-
def self.setup!
|
17
|
-
#no usar para los iinitializers
|
18
|
-
#no cargar middlera
|
19
|
-
#todo eso se hace en los initializers
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
data/lib/alectrico.rb
DELETED
data/lib/middleware.rb
DELETED