caren-api 0.3.4 → 0.3.5

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.4
1
+ 0.3.5
data/caren-api.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{caren-api}
8
- s.version = "0.3.4"
8
+ s.version = "0.3.5"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Andre Foeken"]
@@ -26,8 +26,6 @@ Gem::Specification.new do |s|
26
26
  "VERSION",
27
27
  "caren-api.gemspec",
28
28
  "certs/caren-api.pub",
29
- "certs/example",
30
- "certs/example.pub",
31
29
  "init.rb",
32
30
  "lib/caren-api.rb",
33
31
  "lib/caren/base.rb",
data/init.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  require "lib/caren.rb"
2
2
 
3
3
  Caren::Api.url = "https://www.carenzorgt.nl"
4
- Caren::Api.caren_public_key_path = "certs/caren-api.pub"
5
- Caren::Api.private_key_path = ""
4
+ Caren::Api.caren_public_key = Caren::Api.key_from_path("certs/caren-api.pub")
data/lib/caren/caren.rb CHANGED
@@ -19,25 +19,43 @@ module Caren
19
19
  end
20
20
 
21
21
  class Api
22
- class << self
23
- # The public key file path used to verify request coming from Caren
24
- attr_accessor :caren_public_key_path
25
-
26
- # The private key file path used to sign requests coming from you
27
- attr_accessor :private_key_path
28
-
29
- # The care provider url provided by Caren. i.e. https://example.caren-cares.com
30
- attr_accessor :url
22
+
23
+ def self.url= url
24
+ Thread.current[:url] = url
25
+ end
26
+
27
+ def self.url
28
+ Thread.current[:url]
29
+ end
30
+
31
+ def self.caren_public_key= key
32
+ Thread.current[:caren_public_key] = key
31
33
  end
32
34
 
33
35
  # The public key file used to verify request coming from Caren
34
36
  def self.caren_public_key
35
- @caren_public_key ||= OpenSSL::PKey::RSA.new(File.read(self.caren_public_key_path))
37
+ Thread.current[:caren_public_key]
38
+ end
39
+
40
+ def self.private_key= key
41
+ Thread.current[:private_key] = key
36
42
  end
37
43
 
38
44
  # The private key file used to sign requests coming from you
39
45
  def self.private_key
40
- @private_key ||= OpenSSL::PKey::RSA.new(File.read(self.private_key_path))
46
+ Thread.current[:private_key]
47
+ end
48
+
49
+ def self.key_from_string string
50
+ OpenSSL::PKey::RSA.new(string)
51
+ end
52
+
53
+ def self.key_from_path path
54
+ self.key_from_string( File.read(path) )
55
+ end
56
+
57
+ def self.generate_private_key
58
+ OpenSSL::PKey::RSA.generate( 1024 )
41
59
  end
42
60
 
43
61
  def self.put url, xml
data/spec/spec_helper.rb CHANGED
@@ -5,8 +5,10 @@ require 'fakeweb'
5
5
  require 'capybara'
6
6
 
7
7
  # For the tests we need to know both the public and private key, so we share them here.
8
- Caren::Api.caren_public_key_path = "certs/example.pub"
9
- Caren::Api.private_key_path = "certs/example"
8
+ new_private_key = Caren::Api.generate_private_key
9
+
10
+ Caren::Api.caren_public_key = new_private_key.public_key
11
+ Caren::Api.private_key = new_private_key
10
12
  Caren::Api.url = "http://example.com"
11
13
 
12
14
  FakeWeb.allow_net_connect = false
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 3
8
- - 4
8
+ - 5
9
9
  segments_generated: true
10
- version: 0.3.4
10
+ version: 0.3.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Andre Foeken
@@ -167,8 +167,6 @@ files:
167
167
  - VERSION
168
168
  - caren-api.gemspec
169
169
  - certs/caren-api.pub
170
- - certs/example
171
- - certs/example.pub
172
170
  - init.rb
173
171
  - lib/caren-api.rb
174
172
  - lib/caren/base.rb
data/certs/example DELETED
@@ -1,15 +0,0 @@
1
- -----BEGIN RSA PRIVATE KEY-----
2
- MIICXQIBAAKBgQDCbPwFkQhkA21mF96N0LSK0YtlyyCnkRcXMRgj9cxGZ88c5qti
3
- VTD5As6YdEn4GHaHfEr/dMlJpT8eTYHmy4eb35gw+jiGYm24LqJqsQFK7rAJ1I0b
4
- iE356NF8YaEOKP327K0QzTnftHijTrzDVm/6cHkXQxzAEpPaofU4TW0ljwIDAQAB
5
- AoGBALoQDkdNepgr53/yi9tvxbervRmXgRKbeVuKci3HxswCAGUKIy2hlZJYK1oe
6
- v8MbtiMGwcci/pbp+zOGvTAfyw+lZRP2aYIedRnRRLlmNtSYqD9BiD+F+ZfHUsHY
7
- kFGZdQIF8FPs6utjdbqqfi3YnAkyYvEC/1ecoGb8JkqIkwRxAkEA93/E+CaXxure
8
- /AteMIbm7CxEzasCPCvK7JQjRGgJbdRg5geB2Tjs6GjsCB1QI93KE0ZnK4M4bevI
9
- gxzJaffIpQJBAMkajAs5OI+cpOBGZg1KMJ1GgLL21HH/47rt40KWJbZxAsbOd2Vy
10
- 4rBdu/X40JGYT/adVJh76Pw11P1gwMolKyMCQDCK+OELAL3dFzssJ58w9l3gGOaV
11
- 4exXUoewTnJ+TUsjWpYDZu5qAd1bpt+4kB1YxOee6WFZbVnx4vQEU2TbWpkCQQCe
12
- sK8f0Ch80swcGhE/nXKdONwn3LSpvJX0lPGHQrpBrA3X2WbIDA8rwtumbpAOw9Ud
13
- surlZKnmE4id5LJdEVVnAkAsUiPowyInJKUNEN6PbvyVsjkgZq6ykDTyTJdWcR2o
14
- cT4sb4UzePHAAeh8g6VZeipCmO4SaugphkrPYvifWd7l
15
- -----END RSA PRIVATE KEY-----
data/certs/example.pub DELETED
@@ -1,6 +0,0 @@
1
- -----BEGIN PUBLIC KEY-----
2
- MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDCbPwFkQhkA21mF96N0LSK0Ytl
3
- yyCnkRcXMRgj9cxGZ88c5qtiVTD5As6YdEn4GHaHfEr/dMlJpT8eTYHmy4eb35gw
4
- +jiGYm24LqJqsQFK7rAJ1I0biE356NF8YaEOKP327K0QzTnftHijTrzDVm/6cHkX
5
- QxzAEpPaofU4TW0ljwIDAQAB
6
- -----END PUBLIC KEY-----