paylike 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d0dc4c788a00dd202f5c17073e332e157d66b907
4
+ data.tar.gz: 37624ab40652103e09ad515ae89406c7d5cc6805
5
+ SHA512:
6
+ metadata.gz: 33a3d9f6409b28161d64bc56cfdf27757d62b38e74a701b8206d799966c9559fbd3bf935007a710c82ba4752f502690bc8e141545c0df944055e69f44afed6ad
7
+ data.tar.gz: e7f3f046dfd85fa45d365a013358d9b96fc0a62fcaca3a36b4ccc017f5bee1c5ae1b101427dec8e47f7cb9fd755b2989808421b26d96ac2d4ea3a821c8fbc281
@@ -0,0 +1,15 @@
1
+ # paylike Ruby bindings
2
+
3
+ require "unirest"
4
+
5
+ # Version
6
+ require "paylike/version"
7
+
8
+ # Operations
9
+ require "paylike/configuration"
10
+ require "paylike/endpoints"
11
+ require "paylike/request"
12
+ require "paylike/api"
13
+
14
+
15
+
@@ -0,0 +1,37 @@
1
+ module Paylike
2
+ class Api
3
+
4
+ #
5
+ # Fetch current app
6
+ #
7
+
8
+ def self.me
9
+ req = Request._http(Endpoints.me)
10
+ req.body if req.code == 200
11
+ end
12
+
13
+ #
14
+ # Fetch a transaction
15
+ #
16
+
17
+ def self.transaction(transaction_id)
18
+ req = Request._http(Endpoints.transaction(transaction_id))
19
+ req.body if req.code == 200
20
+ end
21
+
22
+ #
23
+ # Generate Payment Link
24
+ #
25
+
26
+ def self.generate_payment_link(amount, currency=nil, reference=nil, text=nil, url=nil)
27
+ public_key = Configuration.public_key
28
+ currency ||= "EUR"
29
+ "#{Endpoints.pos}?key=#{public_key}&amount=#{amount}&currency=#{currency}#{reference ? "&reference=#{reference}" : ""}#{text ? "&text=#{text}" : ""}#{url ? "&redirect=#{url}" : ""}&locale=en_US"
30
+ end
31
+
32
+ def self.generate_payment_link_encoded(amount, currency=nil, reference=nil, text=nil, url=nil)
33
+ URI.encode(generate_payment_link(amount, currency, reference, text, url))
34
+ end
35
+
36
+ end
37
+ end
@@ -0,0 +1,25 @@
1
+ module Paylike
2
+ class Configuration
3
+
4
+ READABLE_ATTRIBUTES = [
5
+ :public_key,
6
+ :private_key
7
+ ]
8
+
9
+ WRITABLE_ATTRIBUTES = [
10
+ :public_key,
11
+ :private_key
12
+ ]
13
+
14
+ class << self
15
+ attr_writer *WRITABLE_ATTRIBUTES
16
+ attr_reader *READABLE_ATTRIBUTES
17
+ end
18
+
19
+
20
+ def self.test_key
21
+ raise "Configuration error: Private key is missing." unless private_key
22
+ puts private_key
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,21 @@
1
+ class Endpoints
2
+
3
+ def self.base_url
4
+ "https://api.paylike.io/"
5
+ end
6
+
7
+ def self.pos
8
+ "https://pos.paylike.io/"
9
+ end
10
+
11
+ def self.me
12
+ "#{base_url}" + "me"
13
+ end
14
+
15
+ def self.transaction(transaction_id)
16
+ "#{base_url}" + "transactions/" + transaction_id
17
+ end
18
+
19
+
20
+ end
21
+
@@ -0,0 +1,9 @@
1
+ module Paylike
2
+ class Request
3
+
4
+ def self._http(endpoint)
5
+ Unirest.get endpoint, auth:{ :user => "", :password => Configuration.private_key }
6
+ end
7
+
8
+ end
9
+ end
@@ -0,0 +1,3 @@
1
+ module Paylike
2
+ VERSION = '0.0.6'
3
+ end
@@ -0,0 +1,15 @@
1
+ $:.push File.expand_path("../lib", __FILE__)
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "paylike"
5
+ s.version = "0.1.1"
6
+ s.date = "2016-12-09"
7
+ s.summary = "Paylike gem"
8
+ s.description = "Paylike"
9
+ s.authors = ["Kostas Lamprou"]
10
+ s.email = "lamprou@live.com"
11
+ #s.files = ["lib/Paylike.rb"]
12
+ s.files = Dir.glob ["lib/**/*.{rb,crt}", "spec/**/*", "*.gemspec"]
13
+ s.license = "MIT"
14
+ s.homepage = "http://rubygems.org/gems/paylike"
15
+ end
metadata ADDED
@@ -0,0 +1,50 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: paylike
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Kostas Lamprou
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-12-09 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Paylike
14
+ email: lamprou@live.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/paylike.rb
20
+ - lib/paylike/api.rb
21
+ - lib/paylike/configuration.rb
22
+ - lib/paylike/endpoints.rb
23
+ - lib/paylike/request.rb
24
+ - lib/paylike/version.rb
25
+ - paylike.gemspec
26
+ homepage: http://rubygems.org/gems/paylike
27
+ licenses:
28
+ - MIT
29
+ metadata: {}
30
+ post_install_message:
31
+ rdoc_options: []
32
+ require_paths:
33
+ - lib
34
+ required_ruby_version: !ruby/object:Gem::Requirement
35
+ requirements:
36
+ - - ">="
37
+ - !ruby/object:Gem::Version
38
+ version: '0'
39
+ required_rubygems_version: !ruby/object:Gem::Requirement
40
+ requirements:
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '0'
44
+ requirements: []
45
+ rubyforge_project:
46
+ rubygems_version: 2.4.7
47
+ signing_key:
48
+ specification_version: 4
49
+ summary: Paylike gem
50
+ test_files: []