frozen_record 0.25.5 → 0.26.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 +4 -4
- data/.github/dependabot.yml +6 -0
- data/.github/workflows/main.yml +1 -1
- data/CHANGELOG.md +4 -0
- data/README.md +2 -2
- data/frozen_record.gemspec +0 -1
- data/lib/frozen_record/backends/json.rb +3 -3
- data/lib/frozen_record/backends/yaml.rb +6 -6
- data/lib/frozen_record/base.rb +1 -1
- data/lib/frozen_record/compact.rb +1 -1
- data/lib/frozen_record/minimal.rb +0 -2
- data/lib/frozen_record/version.rb +1 -1
- metadata +4 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 558032391d508fe0e51074f70abb81395189376a610c694cf6b43a64bbf2b91a
|
4
|
+
data.tar.gz: e8bd4b3bb7e2dafb6d3854176b7c98e6f87a3148790dd5d5f0de0ec55b95ef48
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 725c9abc9be65de3c1db5643e0df340c34b9b72f50e4a650d0f0a51a27160f6f7db6bcdbb33cab77d7fac3d9e7c6558fe22fd04081b43b8da4c6f7ba2887a3e4
|
7
|
+
data.tar.gz: a1f7e30104161efb60b5a6fbb89c1270f6656557c4f8bfb549a18ec012fdc87be73223e2d13d1efc73d18c3c8e2a0c905f9b9d0bb30907dcd465b659801f41fe
|
data/.github/workflows/main.yml
CHANGED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
[](http://travis-ci.org/byroot/frozen_record)
|
4
4
|
[](http://badge.fury.io/rb/frozen_record)
|
5
5
|
|
6
|
-
|
6
|
+
Active Record-like interface for **read only** access to static data files of reasonable size.
|
7
7
|
|
8
8
|
## Installation
|
9
9
|
|
@@ -156,7 +156,7 @@ The primary key isn't indexed by default.
|
|
156
156
|
|
157
157
|
## Limitations
|
158
158
|
|
159
|
-
Frozen Record is not meant to operate
|
159
|
+
Frozen Record is not meant to operate on large unindexed datasets.
|
160
160
|
|
161
161
|
To ensure that it doesn't happen by accident, you can set `FrozenRecord::Base.max_records_scan = 500` (or whatever limit makes sense to you), in your development and test environments.
|
162
162
|
This setting will cause Frozen Record to raise an error if it has to scan more than `max_records_scan` records. This property can also be set on a per model basis.
|
data/frozen_record.gemspec
CHANGED
@@ -19,16 +19,16 @@ module FrozenRecord
|
|
19
19
|
|
20
20
|
if supports_freeze
|
21
21
|
def load(file_path)
|
22
|
-
JSON.load_file(file_path, freeze: true) ||
|
22
|
+
JSON.load_file(file_path, freeze: true) || [].freeze
|
23
23
|
end
|
24
24
|
else
|
25
25
|
def load(file_path)
|
26
|
-
|
26
|
+
JSON.load_file(file_path) || [].freeze
|
27
27
|
end
|
28
28
|
end
|
29
29
|
else
|
30
30
|
def load(file_path)
|
31
|
-
|
31
|
+
JSON.parse(File.read(file_path)) || [].freeze
|
32
32
|
end
|
33
33
|
end
|
34
34
|
end
|
@@ -56,27 +56,27 @@ module FrozenRecord
|
|
56
56
|
|
57
57
|
if YAML.respond_to?(:unsafe_load_file)
|
58
58
|
def load_file(path)
|
59
|
-
YAML.unsafe_load_file(path, freeze: true) ||
|
59
|
+
YAML.unsafe_load_file(path, freeze: true) || [].freeze
|
60
60
|
end
|
61
61
|
|
62
62
|
def load_string(yaml)
|
63
|
-
YAML.unsafe_load(yaml, freeze: true) ||
|
63
|
+
YAML.unsafe_load(yaml, freeze: true) || [].freeze
|
64
64
|
end
|
65
65
|
elsif supports_freeze
|
66
66
|
def load_file(path)
|
67
|
-
YAML.load_file(path, freeze: true) ||
|
67
|
+
YAML.load_file(path, freeze: true) || [].freeze
|
68
68
|
end
|
69
69
|
|
70
70
|
def load_string(yaml)
|
71
|
-
YAML.load(yaml, freeze: true) ||
|
71
|
+
YAML.load(yaml, freeze: true) || [].freeze
|
72
72
|
end
|
73
73
|
else
|
74
74
|
def load_file(path)
|
75
|
-
|
75
|
+
YAML.load_file(path) || [].freeze
|
76
76
|
end
|
77
77
|
|
78
78
|
def load_string(yaml)
|
79
|
-
|
79
|
+
YAML.load(yaml) || [].freeze
|
80
80
|
end
|
81
81
|
end
|
82
82
|
end
|
data/lib/frozen_record/base.rb
CHANGED
@@ -69,7 +69,7 @@ module FrozenRecord
|
|
69
69
|
alias_method :set_default_attributes, :default_attributes=
|
70
70
|
private :set_default_attributes
|
71
71
|
def default_attributes=(default_attributes)
|
72
|
-
set_default_attributes(
|
72
|
+
set_default_attributes(default_attributes.transform_keys(&:to_s))
|
73
73
|
end
|
74
74
|
|
75
75
|
alias_method :set_primary_key, :primary_key=
|
@@ -62,7 +62,7 @@ module FrozenRecord
|
|
62
62
|
|
63
63
|
def attributes=(attributes)
|
64
64
|
self.class.attributes.each do |attr|
|
65
|
-
instance_variable_set(self.class._attributes_cache[attr],
|
65
|
+
instance_variable_set(self.class._attributes_cache[attr], attributes[attr])
|
66
66
|
end
|
67
67
|
end
|
68
68
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: frozen_record
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.26.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jean Boussier
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-07-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemodel
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: dedup
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ">="
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - ">="
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: rake
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,6 +59,7 @@ executables: []
|
|
73
59
|
extensions: []
|
74
60
|
extra_rdoc_files: []
|
75
61
|
files:
|
62
|
+
- ".github/dependabot.yml"
|
76
63
|
- ".github/workflows/main.yml"
|
77
64
|
- ".gitignore"
|
78
65
|
- ".rspec"
|
@@ -137,7 +124,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
137
124
|
- !ruby/object:Gem::Version
|
138
125
|
version: '0'
|
139
126
|
requirements: []
|
140
|
-
rubygems_version: 3.
|
127
|
+
rubygems_version: 3.2.20
|
141
128
|
signing_key:
|
142
129
|
specification_version: 4
|
143
130
|
summary: ActiveRecord like interface to read only access and query static YAML files
|