litestream 0.11.0 → 0.11.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fb3230d8ee2ab817e4154a538aac303cf9132bc0795fa8db8eabd5b68cc8f764
4
- data.tar.gz: d9adca50074b601e1f1420b1bdc84423213b88a3472a17927a12c3b17bb6fd35
3
+ metadata.gz: 59bbfcde749c016674729dc5b9b677e56cc5b31ec46727d490a19d481b928d61
4
+ data.tar.gz: 87812cd947c281c8212dd4bc414d7aad7e0e70d8d3ff2ffe3c4f07ec31c063fb
5
5
  SHA512:
6
- metadata.gz: 8e69e7545d77005145591cfe2e4f891fd38c091b8fc5765ac79bee8d3ed6476b9ba07949b45400ac83048a465bf8bd412d9223eb8b9cf02c4b0c5b283fc1fdb5
7
- data.tar.gz: 66af38abb358bf4189bf447d7929e6ed698e351d25963b13f48f1cb71b716308a322d56c9bed8b90be612d05867e9523143b44304b529170490e2c0315389a93
6
+ metadata.gz: 13543423827364cbdb44b83674047549ce88df604017d2fca338a739e9453c097c6fec04aba2bf3621d3f725ced03fa62c20e132671d4e5f47616a1b1bc384b0
7
+ data.tar.gz: 52300ad4aa5f5b46026c9dbab2425461b3d68684a3e9cde5a462684366a90714971b3bd53afaa331eaf6fb8a754d78d0c4d6451d9769459cc621fc636de352a2
@@ -3,7 +3,12 @@ module Litestream
3
3
  protect_from_forgery with: :exception
4
4
  around_action :force_english_locale!
5
5
 
6
- http_basic_authenticate_with name: Litestream.username, password: Litestream.password if Litestream.password
6
+ if Litestream.password
7
+ http_basic_authenticate_with(
8
+ name: Litestream.username,
9
+ password: Litestream.password
10
+ )
11
+ end
7
12
 
8
13
  private
9
14
 
@@ -118,11 +118,9 @@ module Litestream
118
118
  end
119
119
 
120
120
  def prepare(command, argv = {}, database = nil)
121
- if Litestream.configuration
122
- ENV["LITESTREAM_REPLICA_BUCKET"] ||= Litestream.configuration.replica_bucket
123
- ENV["LITESTREAM_ACCESS_KEY_ID"] ||= Litestream.configuration.replica_key_id
124
- ENV["LITESTREAM_SECRET_ACCESS_KEY"] ||= Litestream.configuration.replica_access_key
125
- end
121
+ ENV["LITESTREAM_REPLICA_BUCKET"] ||= Litestream.replica_bucket
122
+ ENV["LITESTREAM_ACCESS_KEY_ID"] ||= Litestream.replica_key_id
123
+ ENV["LITESTREAM_SECRET_ACCESS_KEY"] ||= Litestream.replica_access_key
126
124
 
127
125
  args = {
128
126
  "--config" => Rails.root.join("config", "litestream.yml").to_s
@@ -18,5 +18,9 @@ module Litestream
18
18
  Litestream.public_send(:"#{name}=", value)
19
19
  end
20
20
  end
21
+
22
+ initializer "deprecator" do |app|
23
+ app.deprecators[:litestream] = Litestream.deprecator
24
+ end
21
25
  end
22
26
  end
@@ -4,7 +4,7 @@
4
4
  # This allows you to configure Litestream using Rails encrypted credentials,
5
5
  # or some other mechanism where the values are only avaialble at runtime.
6
6
 
7
- Litestream.configure do |config|
7
+ Rails.application.configure do
8
8
  # An example of using Rails encrypted credentials to configure Litestream.
9
9
  # litestream_credentials = Rails.application.credentials.litestream
10
10
 
@@ -19,15 +19,15 @@ Litestream.configure do |config|
19
19
  # any SFTP server.
20
20
  # In this example, we are using Rails encrypted credentials to store the URL to
21
21
  # our storage provider bucket.
22
- # config.replica_bucket = litestream_credentials.replica_bucket
22
+ # config.litestream.replica_bucket = litestream_credentials&.replica_bucket
23
23
 
24
24
  # Replica-specific authentication key.
25
25
  # Litestream needs authentication credentials to access your storage provider bucket.
26
26
  # In this example, we are using Rails encrypted credentials to store the access key ID.
27
- # config.replica_key_id = litestream_credentials.replica_key_id
27
+ # config.litestream.replica_key_id = litestream_credentials&.replica_key_id
28
28
 
29
29
  # Replica-specific secret key.
30
30
  # Litestream needs authentication credentials to access your storage provider bucket.
31
31
  # In this example, we are using Rails encrypted credentials to store the secret access key.
32
- # config.replica_access_key = litestream_credentials.replica_access_key
32
+ # config.litestream.replica_access_key = litestream_credentials&.replica_access_key
33
33
  end
@@ -1,3 +1,3 @@
1
1
  module Litestream
2
- VERSION = "0.11.0"
2
+ VERSION = "0.11.2"
3
3
  end
data/lib/litestream.rb CHANGED
@@ -3,11 +3,25 @@
3
3
  require "sqlite3"
4
4
 
5
5
  module Litestream
6
+ VerificationFailure = Class.new(StandardError)
7
+
6
8
  class << self
7
- attr_accessor :configuration
9
+ attr_writer :configuration
10
+
11
+ def configuration
12
+ @configuration ||= Configuration.new
13
+ end
14
+
15
+ def deprecator
16
+ @deprecator ||= ActiveSupport::Deprecation.new("0.12.0", "Litestream")
17
+ end
8
18
  end
9
19
 
10
20
  def self.configure
21
+ deprecator.warn(
22
+ 'Configuring Litestream via Litestream.configure is deprecated. Use Rails.application.configure { config.litestream.* = ... } instead.',
23
+ caller
24
+ )
11
25
  self.configuration ||= Configuration.new
12
26
  yield(configuration)
13
27
  end
@@ -19,11 +33,7 @@ module Litestream
19
33
  end
20
34
  end
21
35
 
22
- VerificationFailure = Class.new(StandardError)
23
-
24
- mattr_writer :username
25
- mattr_writer :password
26
- mattr_writer :queue
36
+ mattr_writer :username, :password, :queue, :replica_bucket, :replica_key_id, :replica_access_key
27
37
 
28
38
  class << self
29
39
  def verify!(database_path)
@@ -52,17 +62,27 @@ module Litestream
52
62
  # use method instead of attr_accessor to ensure
53
63
  # this works if variable set after Litestream is loaded
54
64
  def username
55
- @username ||= ENV["LITESTREAM_USERNAME"] || @@username || "litestream"
65
+ ENV["LITESTREAM_USERNAME"] || @@username || "litestream"
56
66
  end
57
67
 
58
- # use method instead of attr_accessor to ensure
59
- # this works if variable set after Litestream is loaded
60
68
  def password
61
- @password ||= ENV["LITESTREAM_PASSWORD"] || @@password
69
+ ENV["LITESTREAM_PASSWORD"] || @@password
62
70
  end
63
71
 
64
72
  def queue
65
- @queue ||= ENV["LITESTREAM_QUEUE"] || @@queue || "default"
73
+ ENV["LITESTREAM_QUEUE"] || @@queue || "default"
74
+ end
75
+
76
+ def replica_bucket
77
+ @@replica_bucket || configuration.replica_bucket
78
+ end
79
+
80
+ def replica_key_id
81
+ @@replica_key_id || configuration.replica_key_id
82
+ end
83
+
84
+ def replica_access_key
85
+ @@replica_access_key || configuration.replica_access_key
66
86
  end
67
87
 
68
88
  def replicate_process
@@ -1,14 +1,9 @@
1
1
  namespace :litestream do
2
2
  desc "Print the ENV variables needed for the Litestream config file"
3
3
  task env: :environment do
4
- if Litestream.configuration.nil?
5
- warn "You have not configured the Litestream gem with any values to generate ENV variables"
6
- next
7
- end
8
-
9
- puts "LITESTREAM_REPLICA_BUCKET=#{Litestream.configuration.replica_bucket}"
10
- puts "LITESTREAM_ACCESS_KEY_ID=#{Litestream.configuration.replica_key_id}"
11
- puts "LITESTREAM_SECRET_ACCESS_KEY=#{Litestream.configuration.replica_access_key}"
4
+ puts "LITESTREAM_REPLICA_BUCKET=#{Litestream.replica_bucket}"
5
+ puts "LITESTREAM_ACCESS_KEY_ID=#{Litestream.replica_key_id}"
6
+ puts "LITESTREAM_SECRET_ACCESS_KEY=#{Litestream.replica_access_key}"
12
7
 
13
8
  true
14
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: litestream
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen Margheim
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-08-22 00:00:00.000000000 Z
11
+ date: 2024-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logfmt
@@ -38,20 +38,76 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: actionpack
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '7.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '7.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: actionview
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '7.0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '7.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: activesupport
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '7.0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '7.0'
41
83
  - !ruby/object:Gem::Dependency
42
84
  name: activejob
43
85
  requirement: !ruby/object:Gem::Requirement
44
86
  requirements:
45
87
  - - ">="
46
88
  - !ruby/object:Gem::Version
47
- version: '0'
89
+ version: '7.0'
48
90
  type: :runtime
49
91
  prerelease: false
50
92
  version_requirements: !ruby/object:Gem::Requirement
51
93
  requirements:
52
94
  - - ">="
53
95
  - !ruby/object:Gem::Version
54
- version: '0'
96
+ version: '7.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: railties
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '7.0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '7.0'
55
111
  - !ruby/object:Gem::Dependency
56
112
  name: rubyzip
57
113
  requirement: !ruby/object:Gem::Requirement
@@ -147,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
147
203
  - !ruby/object:Gem::Version
148
204
  version: '0'
149
205
  requirements: []
150
- rubygems_version: 3.5.17
206
+ rubygems_version: 3.5.11
151
207
  signing_key:
152
208
  specification_version: 4
153
209
  summary: Integrate Litestream with the RubyGems infrastructure.