umami-ruby 0.1.1 → 0.1.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fb2a8c38961a59c6fc583a724d47326f3a230fedada57ae3bea4343e9b96b9b2
4
- data.tar.gz: 2dc2d0d3fac1cdb3ac0591984cff125fcfa537638c33726d0f8992f595077559
3
+ metadata.gz: 0c1694e34f1d6aa0a0c3a29e1a2974102acf06e6080073b24821c067e04017ac
4
+ data.tar.gz: 6e8d775b7b7e9d68302f61ff17efb97898eef143520be9cc0c9f46f0cc40da44
5
5
  SHA512:
6
- metadata.gz: a961b60e89b5a5ac18405d83644931f35263cb506fb100998295c0e2a333e4c19fbac86b8ac38e8afbf66537a03e681ecb5b0777eaca9ff64d763ed920652132
7
- data.tar.gz: d048998b818bba3c4720c7393396bcce3f69da08df94074e4611369d8c34d218bbc2d01a5ff1d4b53df04f549ee87d3999cb51452ec158327c958ee9aefef1ef
6
+ metadata.gz: 835bf75155867e6fb31d27eace33760ab4969b267543af9df66db6c7d1c8bbab25f2f25ccf487748bb083534d3ceda1d0287dd7bad5b06db85d054d37e925fa7
7
+ data.tar.gz: cf11c314d097bd25bbfa5c92f9a34c8a5628df745a2a9b569eba1fd5fb7690eddeae0025d445010065b7026aa7681cb4228fb034981e939b1ed7e0eb714ba163
data/lib/umami/client.rb CHANGED
@@ -18,6 +18,8 @@ module Umami
18
18
  # @option options [String] :password Password for authentication (only for self-hosted instances)
19
19
  def initialize(options = {})
20
20
  @config = options[:config] || Umami.configuration
21
+ @config.validate! # Validate the configuration before using it
22
+
21
23
  @uri_base = options[:uri_base] || @config.uri_base
22
24
  @request_timeout = options[:request_timeout] || @config.request_timeout
23
25
  @access_token = options[:access_token] || @config.access_token
@@ -595,5 +597,6 @@ module Umami
595
597
  raise Umami::ConfigurationError, "Authentication is required for self-hosted instances"
596
598
  end
597
599
  end
600
+
598
601
  end
599
602
  end
@@ -10,18 +10,19 @@ module Umami
10
10
  @access_token = nil
11
11
  @username = nil
12
12
  @password = nil
13
+ @dirty = false
13
14
  end
14
15
 
15
16
  def uri_base=(url)
16
17
  @uri_base = url&.chomp('/')
17
- validate_configuration
18
+ @dirty = true
18
19
  end
19
20
 
20
21
  def access_token=(token)
21
22
  @access_token = token
22
23
  @username = nil
23
24
  @password = nil
24
- validate_configuration
25
+ @dirty = true
25
26
  end
26
27
 
27
28
  def credentials=(creds)
@@ -30,16 +31,16 @@ module Umami
30
31
  @username = creds[:username]
31
32
  @password = creds[:password]
32
33
  @access_token = nil
33
- validate_configuration
34
+ @dirty = true
34
35
  end
35
36
 
36
37
  def cloud?
37
38
  @access_token && @uri_base.nil?
38
39
  end
39
40
 
40
- private
41
+ def validate!
42
+ return unless @dirty
41
43
 
42
- def validate_configuration
43
44
  if cloud?
44
45
  @uri_base = UMAMI_CLOUD_URL
45
46
  Umami.logger.info "Using Umami Cloud (#{UMAMI_CLOUD_URL})"
@@ -58,6 +59,8 @@ module Umami
58
59
  if @uri_base && @uri_base != UMAMI_CLOUD_URL && !@access_token && !@username && !@password
59
60
  raise Umami::ConfigurationError, "Authentication is required for self-hosted instances"
60
61
  end
62
+
63
+ @dirty = false
61
64
  end
62
65
  end
63
66
  end
data/lib/umami/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Umami
4
- VERSION = "0.1.1"
4
+ VERSION = "0.1.2"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: umami-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - rameerez