gbro_teemill 0.0.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.
- checksums.yaml +7 -0
- data/config.rb +10 -0
- data/resources/base/base_resource.rb +53 -0
- data/resources/base/bearer_token_authenticated_resource.rb +11 -0
- data/resources/custom_product.rb +12 -0
- data/resources/resources.rb +1 -0
- data/teemill.rb +18 -0
- metadata +48 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 7b3e11c97aedb5a09bb065b9098d6f01c1b1a176d162a2037f9b60c220c3685b
|
4
|
+
data.tar.gz: c0d792effde9e0648c5d0255716a7f6a307ac7d586fd35c9d38dbf1d7fa8e576
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: db3e9f344fa41aae31b46123ba3c72a9032f1ac0b4c8543b81d16ede9411f99fad668d97744cd6cdd876ba2e0c58b092818210855d7728da8dddd4640061c50d
|
7
|
+
data.tar.gz: c3919c09f1c3532d24be6ca66d578832ae54e558e9d3f6dd6a0413d9435ae874e1ac05c0db08deb5fe6c60ad912350c0b43fd76fbbeb5cbbaddfaf6df79b0944
|
data/config.rb
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'json'
|
2
|
+
require 'uri'
|
3
|
+
require 'net/http'
|
4
|
+
require 'openssl'
|
5
|
+
|
6
|
+
class BaseResource
|
7
|
+
def base_url
|
8
|
+
"#{Teemill.api_base}/v#{Teemill.api_version}"
|
9
|
+
end
|
10
|
+
|
11
|
+
def authenticated_request_headers
|
12
|
+
{ Authorization: Teemill.api_key }
|
13
|
+
end
|
14
|
+
|
15
|
+
def add_authentication_headers(request)
|
16
|
+
authenticated_request_headers.each_key do |header|
|
17
|
+
request[header] = authenticated_request_headers[header]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def send_request(request_url, data, method = 'GET')
|
22
|
+
url = URI("#{base_url}#{request_url}")
|
23
|
+
|
24
|
+
http = create_http(url)
|
25
|
+
|
26
|
+
request = Net::HTTP::Post.new(url) if method == 'POST'
|
27
|
+
request = Net::HTTP::Get.new(url) if method == 'GET'
|
28
|
+
|
29
|
+
request['Content-Type'] = 'application/json'
|
30
|
+
|
31
|
+
add_authentication_headers(request)
|
32
|
+
|
33
|
+
request.body = JSON.generate(data) if method == 'POST'
|
34
|
+
|
35
|
+
response = http.request(request)
|
36
|
+
JSON.parse(response.read_body)
|
37
|
+
end
|
38
|
+
|
39
|
+
def create_http(url)
|
40
|
+
http = Net::HTTP.new(url.host, url.port)
|
41
|
+
http.use_ssl = true
|
42
|
+
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
|
43
|
+
http
|
44
|
+
end
|
45
|
+
|
46
|
+
def send_post_request(request_url, data)
|
47
|
+
send_request(request_url, data, 'POST')
|
48
|
+
end
|
49
|
+
|
50
|
+
def send_get_request(request_url, data)
|
51
|
+
send_request(request_url, data, 'GET')
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require_relative './custom_product'
|
data/teemill.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
require_relative './resources/resources'
|
2
|
+
require_relative './config'
|
3
|
+
require 'forwardable'
|
4
|
+
|
5
|
+
module Teemill
|
6
|
+
@config = Config.new
|
7
|
+
|
8
|
+
class << self
|
9
|
+
extend Forwardable
|
10
|
+
|
11
|
+
attr_reader :config
|
12
|
+
|
13
|
+
def_delegators :@config, :api_key, :api_key=
|
14
|
+
def_delegators :@config, :bearer_token, :bearer_token=
|
15
|
+
def_delegators :@config, :api_version, :api_version=
|
16
|
+
def_delegators :@config, :api_base, :api_base=
|
17
|
+
end
|
18
|
+
end
|
metadata
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: gbro_teemill
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- G-Bro
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2022-11-02 00:00:00.000000000 Z
|
12
|
+
dependencies: []
|
13
|
+
description:
|
14
|
+
email:
|
15
|
+
executables: []
|
16
|
+
extensions: []
|
17
|
+
extra_rdoc_files: []
|
18
|
+
files:
|
19
|
+
- config.rb
|
20
|
+
- resources/base/base_resource.rb
|
21
|
+
- resources/base/bearer_token_authenticated_resource.rb
|
22
|
+
- resources/custom_product.rb
|
23
|
+
- resources/resources.rb
|
24
|
+
- teemill.rb
|
25
|
+
homepage: https://teemill.com/api-docs/
|
26
|
+
licenses:
|
27
|
+
- MIT
|
28
|
+
metadata: {}
|
29
|
+
post_install_message:
|
30
|
+
rdoc_options: []
|
31
|
+
require_paths:
|
32
|
+
- lib
|
33
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
34
|
+
requirements:
|
35
|
+
- - ">="
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
38
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
39
|
+
requirements:
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: '0'
|
43
|
+
requirements: []
|
44
|
+
rubygems_version: 3.1.2
|
45
|
+
signing_key:
|
46
|
+
specification_version: 4
|
47
|
+
summary: An SDK for the Teemill API
|
48
|
+
test_files: []
|