fbe 0.21.3 → 0.22.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: 94437e7a9ee360556e5efadf0dda8990f44ae8b5166cb12682b4f77d4d8c054f
4
- data.tar.gz: 042b18778e3007c9ea15a6ac60a0f76aa7dfe9f471c2523b657291e9a72df72d
3
+ metadata.gz: e5a39208fa372c54abc221588d0a96f234cfd7ba3c56a65fa1c9d71a5eb119e9
4
+ data.tar.gz: 97ef98fd304ce75ec5558a8915d3a8f95482cf0d203d3ede0882021b7bc036ea
5
5
  SHA512:
6
- metadata.gz: 9566f00402a00f1235452c6ab352b6e2824d1d930b2068c3a10f6acd8201093a6c54a096b987a2603f867927bd1b33402865b48327a8f52559c32ae1927beefe
7
- data.tar.gz: 27ce07102a08f9324c6261eedc1bc76d249267df198a1e8834c2ab104a034e9cc7a307e49f8b5aab4dc974a5f6d5f01ad10370c0ced8005b7ccd83543ea350ca
6
+ metadata.gz: e17fbbbc95d55c4e0a9ec6611ba5ab1fcee8e42fb9e126a3d46bdb3e20bbad7d0c140d58f519275f71ce11d4a2d6399a211868638e208324b42dc5e577a988e1
7
+ data.tar.gz: d1fac9af3a2e773f23ad7a9392499feb01af4b7786654cf2fdb7140744e2fec4386d5ce45b49ea37432a9f31b9d9ca97fcec3b7c8be5b638b833ce6215b898f0
data/Gemfile.lock CHANGED
@@ -180,7 +180,7 @@ GEM
180
180
  regexp_parser (2.10.0)
181
181
  retries (0.0.5)
182
182
  rexml (3.4.1)
183
- rubocop (1.76.2)
183
+ rubocop (1.77.0)
184
184
  json (~> 2.3)
185
185
  language_server-protocol (~> 3.17.0.2)
186
186
  lint_roller (~> 1.1.0)
@@ -51,8 +51,9 @@ class Fbe::Middleware::SqliteStore
51
51
  # @param version [String] Version identifier for cache compatibility
52
52
  # @param loog [Loog] Logger instance (optional, defaults to Loog::NULL)
53
53
  # @param maxsize [Integer] Maximum database size in bytes (optional, defaults to 10MB)
54
+ # @param maxvsize [Integer] Maximum size in bytes of a single value (optional, defaults to 10Kb)
54
55
  # @raise [ArgumentError] If path is nil/empty, directory doesn't exist, or version is nil/empty
55
- def initialize(path, version, loog: Loog::NULL, maxsize: 10 * 1024 * 1024)
56
+ def initialize(path, version, loog: Loog::NULL, maxsize: 10 * 1024 * 1024, maxvsize: 10 * 1024)
56
57
  raise ArgumentError, 'Database path cannot be nil or empty' if path.nil? || path.empty?
57
58
  dir = File.dirname(path)
58
59
  raise ArgumentError, "Directory #{dir} does not exist" unless File.directory?(dir)
@@ -61,6 +62,7 @@ class Fbe::Middleware::SqliteStore
61
62
  @version = version
62
63
  @loog = loog
63
64
  @maxsize = maxsize
65
+ @maxvsize = maxvsize
64
66
  end
65
67
 
66
68
  # Read a value from the cache.
@@ -91,10 +93,10 @@ class Fbe::Middleware::SqliteStore
91
93
  def write(key, value)
92
94
  return if value.is_a?(Array) && value.any? do |vv|
93
95
  req = JSON.parse(vv[0])
94
- req['url'].include?('?') || req['method'] != 'get'
96
+ req['method'] != 'get'
95
97
  end
96
98
  value = JSON.dump(value)
97
- return if value.bytesize > 10_000
99
+ return if value.bytesize > @maxvsize
98
100
  perform do |t|
99
101
  t.execute(<<~SQL, [key, value, Time.now.utc.iso8601])
100
102
  INSERT INTO cache(key, value, touched_at) VALUES(?1, ?2, ?3)
data/lib/fbe/octo.rb CHANGED
@@ -83,7 +83,8 @@ def Fbe.octo(options: $options, global: $global, loog: $loog)
83
83
  )
84
84
  if options.sqlite_cache
85
85
  maxsize = options.sqlite_cache_maxsize || (10 * 1024 * 1024)
86
- store = Fbe::Middleware::SqliteStore.new(options.sqlite_cache, Fbe::VERSION, loog:, maxsize:)
86
+ maxvsize = options.sqlite_cache_maxxsize || (10 * 1024)
87
+ store = Fbe::Middleware::SqliteStore.new(options.sqlite_cache, Fbe::VERSION, loog:, maxsize:, maxvsize:)
87
88
  loog.info(
88
89
  "Using HTTP cache in SQLite file: #{store.path} (" \
89
90
  "#{File.exist?(store.path) ? "#{File.size(store.path)} bytes" : 'file is absent'}, " \
data/lib/fbe.rb CHANGED
@@ -10,5 +10,5 @@
10
10
  # License:: MIT
11
11
  module Fbe
12
12
  # Current version of the gem (changed by +.rultor.yml+ on every release)
13
- VERSION = '0.21.3' unless const_defined?(:VERSION)
13
+ VERSION = '0.22.0' unless const_defined?(:VERSION)
14
14
  end
@@ -143,8 +143,8 @@ class SqliteStoreTest < Fbe::Test
143
143
  Fbe::Middleware::SqliteStore.new(f, '0.0.1').then do |store|
144
144
  store.write('a', 'a' * 9_997)
145
145
  store.write('b', 'b' * 9_998)
146
- store.write('c', 'c' * 9_999)
147
- store.write('d', 'd' * 10_000)
146
+ store.write('c', 'c' * 19_999)
147
+ store.write('d', 'd' * 30_000)
148
148
  assert_equal('a' * 9_997, store.read('a'))
149
149
  assert_equal('b' * 9_998, store.read('b'))
150
150
  assert_nil(store.read('c'))
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fbe
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.21.3
4
+ version: 0.22.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yegor Bugayenko