tenkit 0.0.1 → 0.0.3

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tenkit.rb +12 -51
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92f29103dbf67b4fcf7862d98f640fb9c180e190b53f6744337d40979cd9f35c
4
- data.tar.gz: 5eead33f444aecba6d91f6a30e099890a7e9ebc86b715e1d529f5f89fe5217ce
3
+ metadata.gz: 3aa5020bbc4ca455845688d4fe94b4c5a272d288ef134a619750da149ceea012
4
+ data.tar.gz: decd50d45c0edc8420f71de287ab08936cf9187b5735e757a2c52bc344d6eacb
5
5
  SHA512:
6
- metadata.gz: dee3f49acea638f629b88ac4315384f6c1b19b4845ce2465b3edef5abb4002dea017c03eb04504ee890f4417e12661ab60ac5b6682c0601f96cc7c22c16a7771
7
- data.tar.gz: 8c9ae29730194100e42dc591d5e8f131f088ca8c5e0eb970ea6050b34111d3096302141d150ebe39cd181e7dfe8b378e4531e653c6bf1a356ce1999d17b2eb33
6
+ metadata.gz: 61022b0c9a2424c4735a202bd3e6cd3f6248cc0e18ce1894309552d36ba79fcd305c012b595bb9b6b19090ca1f41ef9efc453e4daf9968645f73ef6ec1ddc7f2
7
+ data.tar.gz: e2e8b6a45f0c29d9dd9a846305a21ae245c06578cd049173d757f6321479e36cfae12a9810c9a5a1b331b16a433ff6498fb87a8937b8198da153833d242b659f
data/lib/tenkit.rb CHANGED
@@ -1,59 +1,20 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'jwt'
4
- require 'openssl'
5
- require 'httparty'
3
+ require_relative 'tenkit/client'
4
+ require_relative 'tenkit/config'
5
+ require_relative 'tenkit/version'
6
+ require_relative 'tenkit/weather'
6
7
 
7
8
  module Tenkit
8
- class Client
9
- include HTTParty
10
- base_uri 'https://weatherkit.apple.com/api/v1'
11
-
12
- def initialize(config)
13
- @team_id = config[:team_id]
14
- @service_id = config[:service_id]
15
- @key_id = config[:key_id]
16
- @key = config[:key]
17
- end
18
-
19
- def availability(lat, lon, country = 'US')
20
- get("/availability/#{lat}/#{lon}?country=#{country}")
21
- end
22
-
23
- def weather(lat, lon, language = 'en')
24
- get("/weather/#{language}/#{lat}/#{lon}?dataSets=currentWeather")
25
- end
26
-
27
- private
28
-
29
- def get(url)
30
- headers = { Authorization: "Bearer #{token}" }
31
- self.class.get(url, { headers: headers })
32
- end
33
-
34
- def header
35
- {
36
- alg: 'ES256',
37
- kid: @key_id,
38
- id: "#{@team_id}.#{@service_id}"
39
- }
40
- end
41
-
42
- def payload
43
- {
44
- iss: @team_id,
45
- iat: Time.new.to_i,
46
- exp: Time.new.to_i + 600,
47
- sub: @service_id
48
- }
49
- end
9
+ class Error < StandardError
10
+ end
50
11
 
51
- def key
52
- OpenSSL::PKey.read @key
53
- end
12
+ class << self
13
+ attr_accessor :config
14
+ end
54
15
 
55
- def token
56
- JWT.encode payload, key, 'ES256', header
57
- end
16
+ def self.configure
17
+ self.config ||= Config.new
18
+ yield config
58
19
  end
59
20
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tenkit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Pierce
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-16 00:00:00.000000000 Z
11
+ date: 2023-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty