Class: Sphragis::Providers::BaseProvider
- Inherits:
-
Object
- Object
- Sphragis::Providers::BaseProvider
- Defined in:
- lib/sphragis/providers/base_provider.rb
Direct Known Subclasses
FortifyProvider, FortifyWebcryptoProvider, HaricaProvider, ItsmeProvider
Defined Under Namespace
Classes: ProviderError
Instance Attribute Summary collapse
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Instance Method Summary collapse
-
#certificate ⇒ Hash
Get certificate information Must be implemented by subclasses.
-
#connect ⇒ Object
Connect to the signature provider Must be implemented by subclasses.
-
#connected? ⇒ Boolean
Check if connected.
-
#disconnect ⇒ Object
Disconnect from the provider Must be implemented by subclasses.
-
#initialize(config = {}) ⇒ BaseProvider
constructor
A new instance of BaseProvider.
-
#provider_name ⇒ String
Get provider name.
-
#sign(data) ⇒ Hash
Sign data Must be implemented by subclasses.
-
#validate_configuration! ⇒ Object
Validate configuration Can be overridden by subclasses.
Constructor Details
#initialize(config = {}) ⇒ BaseProvider
Returns a new instance of BaseProvider.
10 11 12 13 |
# File 'lib/sphragis/providers/base_provider.rb', line 10 def initialize(config = {}) @config = config @session = nil end |
Instance Attribute Details
#config ⇒ Object (readonly)
Returns the value of attribute config.
8 9 10 |
# File 'lib/sphragis/providers/base_provider.rb', line 8 def config @config end |
Instance Method Details
#certificate ⇒ Hash
Get certificate information Must be implemented by subclasses
43 44 45 |
# File 'lib/sphragis/providers/base_provider.rb', line 43 def certificate raise NotImplementedError, "#{self.class.name} must implement #certificate" end |
#connect ⇒ Object
Connect to the signature provider Must be implemented by subclasses
17 18 19 |
# File 'lib/sphragis/providers/base_provider.rb', line 17 def connect raise NotImplementedError, "#{self.class.name} must implement #connect" end |
#connected? ⇒ Boolean
Check if connected
28 29 30 |
# File 'lib/sphragis/providers/base_provider.rb', line 28 def connected? !@session.nil? end |
#disconnect ⇒ Object
Disconnect from the provider Must be implemented by subclasses
23 24 25 |
# File 'lib/sphragis/providers/base_provider.rb', line 23 def disconnect raise NotImplementedError, "#{self.class.name} must implement #disconnect" end |
#provider_name ⇒ String
Get provider name
49 50 51 |
# File 'lib/sphragis/providers/base_provider.rb', line 49 def provider_name self.class.name.split("::").last.gsub("Provider", "") end |
#sign(data) ⇒ Hash
Sign data Must be implemented by subclasses
36 37 38 |
# File 'lib/sphragis/providers/base_provider.rb', line 36 def sign(data) raise NotImplementedError, "#{self.class.name} must implement #sign" end |
#validate_configuration! ⇒ Object
Validate configuration Can be overridden by subclasses
55 56 57 58 |
# File 'lib/sphragis/providers/base_provider.rb', line 55 def validate_configuration! # Base implementation does nothing true end |