lode 0.1.0 → 1.0.0

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: e9521ad58f9eff16874aa40a21ac3035e131222515cddd39541549f83309b7b9
4
- data.tar.gz: 4e63463c9bf0e3dfe9d2a269803eede2ad65f1668fbb9aa1e81f67641d7099f9
3
+ metadata.gz: 18f3728eb2391285467b9dbdf6cda694bdf8ee167b9f84b8d9f60e4869938d67
4
+ data.tar.gz: cd5e03ccd6554d48c09e67514cd82c427cc636be527f351311089a6cbcdcfd93
5
5
  SHA512:
6
- metadata.gz: 51a631b02e7bdfdfb052e173441bb9698742d49d9c55346168f792ba1b5928a9bd78f8c02a5e14d45ea6798adcdf81ae1556c2f116da85e4d1cb1ebd21c4513a
7
- data.tar.gz: a46c71f91a20715907690befe16ba14f3cd5beec9adf109a3b7ba07949be6f002ce2f246931b3954108645b3950684aab67cb47758b8cd22567c1ef8a8ba7e97
6
+ metadata.gz: 0da905f28b4ac347b4bebe53a0bb58c87f185fe2f948bbf3e3e13af8f6a3461fe768848f69351f4767f50a10e34914ae71290125ab6e4af03affd7fcc0f851b0
7
+ data.tar.gz: 63b9f264fd388402cfd00a5cfab3062c7bed11f49738ec3cae760b579d26a26d6a49b635482b8181b0a3b462b2f24dd693f7d764595a660c063eaadb585867e9
checksums.yaml.gz.sig CHANGED
Binary file
data/lib/lode/client.rb CHANGED
@@ -27,10 +27,12 @@ module Lode
27
27
 
28
28
  attr_reader :configuration
29
29
 
30
- def transact(mode, key, &)
30
+ # rubocop:todo Naming/BlockForwarding
31
+ def transact mode, key, &block
31
32
  store.transaction mode == :read do
32
- configuration.table_for(store, key).instance_eval(&)
33
+ configuration.table_for(store, key).instance_eval(&block)
33
34
  end
34
35
  end
36
+ # rubocop:enable Naming/BlockForwarding
35
37
  end
36
38
  end
@@ -6,7 +6,7 @@ module Lode
6
6
  # Models the default configuration.
7
7
  Configuration = Struct.new :store, :mode, :table, :primary_key, :registry do
8
8
  using Refines::PersistentStore
9
- using Refinements::Arrays
9
+ using Refinements::Array
10
10
 
11
11
  def initialize store: PStore,
12
12
  mode: :default,
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "pstore"
4
- require "refinements/arrays"
4
+ require "refinements/array"
5
5
 
6
6
  module Lode
7
7
  module Refines
8
8
  # Refined and enhanced PStore functionality.
9
9
  module PersistentStore
10
- using Refinements::Arrays
10
+ using Refinements::Array
11
11
 
12
12
  refine PStore.singleton_class do
13
13
  def with path, mode: :default
data/lib/lode/setting.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Lode
4
+ # Defines a configuration setting.
4
5
  Setting = Data.define :model, :primary_key do
5
6
  def initialize model: Hash, primary_key: PRIMARY_KEY
6
7
  super
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require "dry/monads"
4
- require "refinements/arrays"
4
+ require "refinements/array"
5
5
 
6
6
  module Lode
7
7
  module Tables
@@ -9,7 +9,7 @@ module Lode
9
9
  class Abstract
10
10
  include Dry::Monads[:result]
11
11
 
12
- using Refinements::Arrays
12
+ using Refinements::Array
13
13
 
14
14
  def initialize store, key, setting: Setting.new
15
15
  @store = store
data/lib/lode.rb CHANGED
@@ -13,7 +13,9 @@ module Lode
13
13
  PRIMARY_KEY = :id
14
14
  MODES = %i[default thread file max].freeze
15
15
 
16
- def self.loader(registry = Zeitwerk::Registry) = registry.loader_for __FILE__
16
+ def self.loader registry = Zeitwerk::Registry
17
+ @loader ||= registry.loaders.find { |loader| loader.tag == File.basename(__FILE__, ".rb") }
18
+ end
17
19
 
18
20
  def self.new(...) = Client.new(...)
19
21
  end
data/lode.gemspec CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Gem::Specification.new do |spec|
4
4
  spec.name = "lode"
5
- spec.version = "0.1.0"
5
+ spec.version = "1.0.0"
6
6
  spec.authors = ["Brooke Kuhlmann"]
7
7
  spec.email = ["brooke@alchemists.io"]
8
8
  spec.homepage = "https://alchemists.io/projects/lode"
@@ -22,9 +22,9 @@ Gem::Specification.new do |spec|
22
22
  spec.signing_key = Gem.default_key_path
23
23
  spec.cert_chain = [Gem.default_cert_path]
24
24
 
25
- spec.required_ruby_version = "~> 3.2"
25
+ spec.required_ruby_version = "~> 3.3"
26
26
  spec.add_dependency "dry-monads", "~> 1.6"
27
- spec.add_dependency "refinements", "~> 11.0"
27
+ spec.add_dependency "refinements", "~> 12.0"
28
28
  spec.add_dependency "zeitwerk", "~> 2.6"
29
29
 
30
30
  spec.extra_rdoc_files = Dir["README*", "LICENSE*"]
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -35,7 +35,7 @@ cert_chain:
35
35
  3n5C8/6Zh9DYTkpcwPSuIfAga6wf4nXc9m6JAw8AuMLaiWN/r/2s4zJsUHYERJEu
36
36
  gZGm4JqtuSg8pYjPeIJxS960owq+SfuC+jxqmRA54BisFCv/0VOJi7tiJVY=
37
37
  -----END CERTIFICATE-----
38
- date: 2023-10-01 00:00:00.000000000 Z
38
+ date: 2024-01-01 00:00:00.000000000 Z
39
39
  dependencies:
40
40
  - !ruby/object:Gem::Dependency
41
41
  name: dry-monads
@@ -57,14 +57,14 @@ dependencies:
57
57
  requirements:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
- version: '11.0'
60
+ version: '12.0'
61
61
  type: :runtime
62
62
  prerelease: false
63
63
  version_requirements: !ruby/object:Gem::Requirement
64
64
  requirements:
65
65
  - - "~>"
66
66
  - !ruby/object:Gem::Version
67
- version: '11.0'
67
+ version: '12.0'
68
68
  - !ruby/object:Gem::Dependency
69
69
  name: zeitwerk
70
70
  requirement: !ruby/object:Gem::Requirement
@@ -118,14 +118,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
118
118
  requirements:
119
119
  - - "~>"
120
120
  - !ruby/object:Gem::Version
121
- version: '3.2'
121
+ version: '3.3'
122
122
  required_rubygems_version: !ruby/object:Gem::Requirement
123
123
  requirements:
124
124
  - - ">="
125
125
  - !ruby/object:Gem::Version
126
126
  version: '0'
127
127
  requirements: []
128
- rubygems_version: 3.4.20
128
+ rubygems_version: 3.5.3
129
129
  signing_key:
130
130
  specification_version: 4
131
131
  summary: A monadic store of marshaled objects.
metadata.gz.sig CHANGED
Binary file