ehsso 0.7.1 → 0.8.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 +4 -4
- data/.github/workflows/01_test.yml +1 -1
- data/.github/workflows/02_release.yml +1 -1
- data/CHANGELOG.md +7 -0
- data/ehsso.gemspec +1 -2
- data/lib/ehsso/person.rb +10 -8
- data/lib/ehsso/version.rb +1 -1
- metadata +3 -17
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 208742122ef1e438a89f71a9b42fdade0b41156ef23ece58d63d74efd92abd4c
|
|
4
|
+
data.tar.gz: 1384cee640caab6534e660cb502ffd7ae6a35a305d9f5d45bf0fe14efb1c9a5e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e194bdceb811f29a4c11582fee77d69b855480d5e0a82efeef4fea45dd0a04b819ebf7fa170d39e82509b4e4e4f35674e2a1232e508364dad9f7fb483ae0fce7
|
|
7
|
+
data.tar.gz: f37a33ec3e472fd979df10c2da3e71165df52027301f1ee4a05025d3119cbf954e60b51391fb44c0ef5695709ea18658364ccbc0b155bd5774f17b1e01097466
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
# Changelog of ehsso
|
|
2
2
|
|
|
3
|
+
## 0.8.0 / 2026-06-10
|
|
4
|
+
|
|
5
|
+
* Strip whitespace from HTTP_NIBR* header values (reference, first name, last name, email)
|
|
6
|
+
* Reject whitespace-only reference header as invalid
|
|
7
|
+
* Use end_with? for role method checking in method_missing and respond_to_missing?
|
|
8
|
+
* Fix typo in error message ("porperties" -> "properties")
|
|
9
|
+
|
|
3
10
|
## 0.7.1 / 2025-11-09
|
|
4
11
|
|
|
5
12
|
* Enable Trusted Publishing
|
data/ehsso.gemspec
CHANGED
|
@@ -22,7 +22,6 @@ Gem::Specification.new do |spec|
|
|
|
22
22
|
|
|
23
23
|
spec.required_ruby_version = ">= 3.1"
|
|
24
24
|
|
|
25
|
-
spec.add_development_dependency "bundler", "~> 2.3"
|
|
26
25
|
spec.add_development_dependency "rake", "~> 13.0"
|
|
27
26
|
spec.add_development_dependency "rspec", "~> 3.12"
|
|
28
27
|
spec.add_development_dependency "rails", ">= 6.1"
|
|
@@ -31,5 +30,5 @@ Gem::Specification.new do |spec|
|
|
|
31
30
|
|
|
32
31
|
spec.add_runtime_dependency("typhoeus", "~> 1.5")
|
|
33
32
|
spec.add_runtime_dependency("logger", "~> 1.7")
|
|
34
|
-
spec.add_runtime_dependency("bigdecimal", "~>
|
|
33
|
+
spec.add_runtime_dependency("bigdecimal", "~> 4.0")
|
|
35
34
|
end
|
data/lib/ehsso/person.rb
CHANGED
|
@@ -32,13 +32,11 @@ module Ehsso
|
|
|
32
32
|
|
|
33
33
|
# you can use methods like guest?, user?, operator?, administrator? etc.
|
|
34
34
|
def method_missing(method)
|
|
35
|
-
raise "Method [#{method}] not defined or allowed" unless method
|
|
35
|
+
raise "Method [#{method}] not defined or allowed" unless method.end_with?("?")
|
|
36
36
|
@roles.include?(method[0..-2].upcase)
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
-
def respond_to_missing?(method, include_private = false)
|
|
40
|
-
true if method[-1] == "?"
|
|
41
|
-
end
|
|
39
|
+
def respond_to_missing?(method, include_private = false) = method.end_with?("?")
|
|
42
40
|
|
|
43
41
|
def full_name
|
|
44
42
|
return nil if last_name.nil? && first_name.nil?
|
|
@@ -49,19 +47,23 @@ module Ehsso
|
|
|
49
47
|
person = Ehsso::Person.new
|
|
50
48
|
|
|
51
49
|
# reference (mandatory)
|
|
52
|
-
|
|
53
|
-
|
|
50
|
+
# to_s save in case of nil,
|
|
51
|
+
# strip removes spaces around the string
|
|
52
|
+
reference_value = header["HTTP_NIBR521"].to_s.strip
|
|
53
|
+
if reference_value.empty?
|
|
54
|
+
person.last_error_message = "Unable to extract HTTP_NIBR* properties from request header"
|
|
54
55
|
return person
|
|
55
56
|
end
|
|
56
57
|
|
|
57
|
-
person.reference =
|
|
58
|
+
person.reference = reference_value.downcase
|
|
58
59
|
|
|
59
60
|
[
|
|
60
61
|
[:first_name=, "HTTP_NIBRFIRST"],
|
|
61
62
|
[:last_name=, "HTTP_NIBRLAST"],
|
|
62
63
|
[:email=, "HTTP_NIBREMAIL"]
|
|
63
64
|
].each do |method, key|
|
|
64
|
-
|
|
65
|
+
value = header[key].to_s.strip
|
|
66
|
+
person.send(method, value) unless value.empty?
|
|
65
67
|
end
|
|
66
68
|
|
|
67
69
|
person
|
data/lib/ehsso/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ehsso
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Thomas Steiner
|
|
@@ -9,20 +9,6 @@ bindir: exe
|
|
|
9
9
|
cert_chain: []
|
|
10
10
|
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
|
-
- !ruby/object:Gem::Dependency
|
|
13
|
-
name: bundler
|
|
14
|
-
requirement: !ruby/object:Gem::Requirement
|
|
15
|
-
requirements:
|
|
16
|
-
- - "~>"
|
|
17
|
-
- !ruby/object:Gem::Version
|
|
18
|
-
version: '2.3'
|
|
19
|
-
type: :development
|
|
20
|
-
prerelease: false
|
|
21
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
-
requirements:
|
|
23
|
-
- - "~>"
|
|
24
|
-
- !ruby/object:Gem::Version
|
|
25
|
-
version: '2.3'
|
|
26
12
|
- !ruby/object:Gem::Dependency
|
|
27
13
|
name: rake
|
|
28
14
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -127,14 +113,14 @@ dependencies:
|
|
|
127
113
|
requirements:
|
|
128
114
|
- - "~>"
|
|
129
115
|
- !ruby/object:Gem::Version
|
|
130
|
-
version: '
|
|
116
|
+
version: '4.0'
|
|
131
117
|
type: :runtime
|
|
132
118
|
prerelease: false
|
|
133
119
|
version_requirements: !ruby/object:Gem::Requirement
|
|
134
120
|
requirements:
|
|
135
121
|
- - "~>"
|
|
136
122
|
- !ruby/object:Gem::Version
|
|
137
|
-
version: '
|
|
123
|
+
version: '4.0'
|
|
138
124
|
description: EH Single Sign On
|
|
139
125
|
email:
|
|
140
126
|
- thomas.steiner@ikey.ch
|