cryptoform 0.1.0 → 0.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0dd3d188f2a8b12f155a5eeb733f63bbef247161aa0d2baf33801bdd5e814bc1
4
- data.tar.gz: c2d99e642a3f8a5e30e4d38665d23c9f16625466e6891f362f6d9f6fef1b6b3b
3
+ metadata.gz: f0f9f5718fd04bc8d3b41709ab275e3c3149c687a05620d08befcfe6ab142465
4
+ data.tar.gz: e1007775f8a6ac33000f526f99f9704339e715c133b663a0c29ba00d625acfa3
5
5
  SHA512:
6
- metadata.gz: d04ed3018bffb1ad526736f2314f349b76fafe6cfc539217d6afb920dc7c1e2070bfab35a23c111c37578206ec318569549f72ed867cb4b56ee40863135eb413
7
- data.tar.gz: dd201f144278c47154265a017ee1409c19fc77bf2b62ad59f1880275f387a1a9181b0729fec3019e46a002c331244c6c44d8ff6b6ee7b576a1f2b5ee015e87ee
6
+ metadata.gz: 24159b9944f41adae6d9a040531d6470dd5bac1a3de7d08e7d736ece145c7e4f827f3cb205bcc99179005b4cbf04ff21ab6556ee89ad043b5b99946ab5924853
7
+ data.tar.gz: 5bb71e41df20928ec480e2eb0c497646e7b43b7087a083900e0f2ddef3926237cc6f95aea6d4f9d04bd0b436309e7b6fe712423c8f1cb67817edbd10c513f8d1
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 3.1
2
+ TargetRubyVersion: 3.2
3
3
  NewCops: enable
4
4
  SuggestExtensions: true
5
5
 
@@ -14,6 +14,11 @@ require:
14
14
  - rubocop-performance
15
15
  - rubocop-rspec
16
16
  - rubocop-rake
17
+ - rubocop-disable_syntax
18
+
19
+ Style/DisableSyntax:
20
+ DisableSyntax:
21
+ - endless_methods
17
22
 
18
23
  Layout/LineLength:
19
24
  Max: 120
data/.tool-versions CHANGED
@@ -1,2 +1,2 @@
1
- ruby 3.1.6
1
+ ruby 3.2.4
2
2
  terraform 1.9.2
data/Gemfile CHANGED
@@ -8,9 +8,11 @@ gemspec
8
8
  gem "overcommit"
9
9
  gem "rake"
10
10
  gem "rspec"
11
+ gem "simplecov"
11
12
  gem "solargraph"
12
13
 
13
14
  gem "rubocop"
14
15
  gem "rubocop-performance"
15
16
  gem "rubocop-rake"
16
17
  gem "rubocop-rspec"
18
+ gem 'rubocop-disable_syntax'
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- cryptoform (0.1.0)
4
+ cryptoform (0.2.0)
5
5
  async-http (~> 0.69)
6
6
  base64 (~> 0.2)
7
7
  lockbox (~> 1.3)
@@ -35,6 +35,7 @@ GEM
35
35
  fiber-local (~> 1.1)
36
36
  json
37
37
  diff-lcs (1.5.1)
38
+ docile (1.4.0)
38
39
  e2mmap (0.1.0)
39
40
  fiber-annotation (0.2.0)
40
41
  fiber-local (1.1.0)
@@ -63,7 +64,7 @@ GEM
63
64
  iniparse (~> 1.4)
64
65
  rexml (~> 3.2)
65
66
  parallel (1.25.1)
66
- parser (3.3.3.0)
67
+ parser (3.3.4.0)
67
68
  ast (~> 2.4.1)
68
69
  racc
69
70
  protocol-hpack (1.4.3)
@@ -95,27 +96,35 @@ GEM
95
96
  diff-lcs (>= 1.2.0, < 2.0)
96
97
  rspec-support (~> 3.13.0)
97
98
  rspec-support (3.13.1)
98
- rubocop (1.64.1)
99
+ rubocop (1.65.0)
99
100
  json (~> 2.3)
100
101
  language_server-protocol (>= 3.17.0)
101
102
  parallel (~> 1.10)
102
103
  parser (>= 3.3.0.2)
103
104
  rainbow (>= 2.2.2, < 4.0)
104
- regexp_parser (>= 1.8, < 3.0)
105
+ regexp_parser (>= 2.4, < 3.0)
105
106
  rexml (>= 3.2.5, < 4.0)
106
107
  rubocop-ast (>= 1.31.1, < 2.0)
107
108
  ruby-progressbar (~> 1.7)
108
109
  unicode-display_width (>= 2.4.0, < 3.0)
109
110
  rubocop-ast (1.31.3)
110
111
  parser (>= 3.3.1.0)
112
+ rubocop-disable_syntax (0.1.1)
113
+ rubocop (>= 1.50)
111
114
  rubocop-performance (1.21.1)
112
115
  rubocop (>= 1.48.1, < 2.0)
113
116
  rubocop-ast (>= 1.31.1, < 2.0)
114
117
  rubocop-rake (0.6.0)
115
118
  rubocop (~> 1.0)
116
- rubocop-rspec (3.0.2)
119
+ rubocop-rspec (3.0.3)
117
120
  rubocop (~> 1.61)
118
121
  ruby-progressbar (1.13.0)
122
+ simplecov (0.22.0)
123
+ docile (~> 1.1)
124
+ simplecov-html (~> 0.11)
125
+ simplecov_json_formatter (~> 0.1)
126
+ simplecov-html (0.12.3)
127
+ simplecov_json_formatter (0.1.4)
119
128
  solargraph (0.50.0)
120
129
  backport (~> 1.2)
121
130
  benchmark
@@ -150,9 +159,11 @@ DEPENDENCIES
150
159
  rake
151
160
  rspec
152
161
  rubocop
162
+ rubocop-disable_syntax
153
163
  rubocop-performance
154
164
  rubocop-rake
155
165
  rubocop-rspec
166
+ simplecov
156
167
  solargraph
157
168
 
158
169
  BUNDLED WITH
data/README.md CHANGED
@@ -15,7 +15,7 @@ bother configuring an external state store.
15
15
 
16
16
  ## Installation
17
17
 
18
- 1. Install one of supported ruby versions: 3.1 or newer
18
+ 1. Install one of supported ruby versions: 3.2 or newer
19
19
  2. In your terraform project, create 2 files:
20
20
 
21
21
  *Gemfile*:
@@ -8,7 +8,9 @@ class Cryptoform::Config::Builder
8
8
  @states = {}
9
9
  end
10
10
 
11
- def port(port) = @port = port
11
+ def port(port)
12
+ @port = port
13
+ end
12
14
 
13
15
  def state(name, &)
14
16
  name = name.to_sym
@@ -24,5 +26,7 @@ class Cryptoform::Config::Builder
24
26
  raise Cryptoform::ConfigValidationError, "port must be an integer" if @key.is_a?(Numeric)
25
27
  end
26
28
 
27
- def config = Config.new(@port, @states.transform_values(&:config))
29
+ def config
30
+ Config.new(@port, @states.transform_values(&:config))
31
+ end
28
32
  end
@@ -31,7 +31,9 @@ class Cryptoform::Config::StateConfigBuilder
31
31
  @encryption_backend = ENCRYPTION_BACKENDS[name].new(@name, **params)
32
32
  end
33
33
 
34
- def config = Config.new(@storage_backend, @encryption_backend)
34
+ def config
35
+ Config.new(@storage_backend, @encryption_backend)
36
+ end
35
37
 
36
38
  def validate!
37
39
  if @storage_backend.nil?
@@ -6,6 +6,11 @@ class Cryptoform::EncryptionBackends::Backend
6
6
  @params = params
7
7
  end
8
8
 
9
- def decrypt(ciphertext) = raise NotImplementedError
10
- def encrypt(json) = raise NotImplementedError
9
+ def decrypt(ciphertext)
10
+ raise NotImplementedError
11
+ end
12
+
13
+ def encrypt(json)
14
+ raise NotImplementedError
15
+ end
11
16
  end
@@ -1,9 +1,15 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Cryptoform::EncryptionBackends::Lockbox < Cryptoform::EncryptionBackends::Backend
4
- def encrypt(json) = lockbox.encrypt(json.to_json)
4
+ def encrypt(json)
5
+ lockbox.encrypt(json.to_json)
6
+ end
5
7
 
6
- def decrypt(ciphertext) = JSON.parse(lockbox.decrypt(ciphertext))
8
+ def decrypt(ciphertext)
9
+ JSON.parse(lockbox.decrypt(ciphertext))
10
+ end
7
11
 
8
- def lockbox = ::Lockbox.new(key: @params[:key].call, encode: true)
12
+ def lockbox
13
+ ::Lockbox.new(key: @params[:key].call, encode: true)
14
+ end
9
15
  end
@@ -40,9 +40,13 @@ class Cryptoform::Server
40
40
  ::Protocol::HTTP::Response[201, {}, []]
41
41
  end
42
42
 
43
- def logger = @logger ||= Logger.new($stdout)
43
+ def logger
44
+ @logger ||= Logger.new($stdout)
45
+ end
44
46
 
45
- def endpoint = @endpoint ||= Async::HTTP::Endpoint.parse("http://localhost:#{@config.port}")
47
+ def endpoint
48
+ @endpoint ||= Async::HTTP::Endpoint.parse("http://localhost:#{@config.port}")
49
+ end
46
50
 
47
51
  def log_request(request)
48
52
  yield.tap do |response|
@@ -6,6 +6,11 @@ class Cryptoform::StorageBackends::Backend
6
6
  @params = params
7
7
  end
8
8
 
9
- def read = raise NotImplementedError
10
- def write(data) = raise NotImplementedError
9
+ def read
10
+ raise NotImplementedError
11
+ end
12
+
13
+ def write(data)
14
+ raise NotImplementedError
15
+ end
11
16
  end
@@ -7,9 +7,13 @@ class Cryptoform::StorageBackends::File < Cryptoform::StorageBackends::Backend
7
7
  raise Cryptoform::StateMissingError, "state '#{@state_name}' is configured but missing"
8
8
  end
9
9
 
10
- def write(data) = ::File.write(filename, data)
10
+ def write(data)
11
+ ::File.write(filename, data)
12
+ end
11
13
 
12
14
  private
13
15
 
14
- def filename = @filename ||= @params[:name] || "#{@state_name}.tfstate.enc"
16
+ def filename
17
+ @filename ||= @params[:name] || "#{@state_name}.tfstate.enc"
18
+ end
15
19
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Cryptoform
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,11 +1,11 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cryptoform
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gleb Sinyavskiy
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
11
  date: 2024-07-13 00:00:00.000000000 Z
@@ -105,9 +105,9 @@ licenses:
105
105
  metadata:
106
106
  homepage_uri: https://github.com/zhulik/cryptoform
107
107
  source_code_uri: https://github.com/zhulik/cryptoform
108
- changelog_uri: https://github.com/zhulik/cryptoform
108
+ changelog_uri: https://github.com/zhulik/cryptoform/releases
109
109
  rubygems_mfa_required: 'true'
110
- post_install_message:
110
+ post_install_message:
111
111
  rdoc_options: []
112
112
  require_paths:
113
113
  - lib
@@ -115,15 +115,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
115
115
  requirements:
116
116
  - - ">="
117
117
  - !ruby/object:Gem::Version
118
- version: 3.1.0
118
+ version: 3.2.0
119
119
  required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  requirements:
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
123
  version: '0'
124
124
  requirements: []
125
- rubygems_version: 3.3.27
126
- signing_key:
125
+ rubygems_version: 3.5.11
126
+ signing_key:
127
127
  specification_version: 4
128
128
  summary: Save your encypted terraform state in git.
129
129
  test_files: []