ar_doc_store 2.1.2 → 2.1.3
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/Rakefile +3 -1
- data/ar_doc_store.gemspec +1 -1
- data/lib/ar_doc_store/attributes/embeds_many.rb +3 -2
- data/lib/ar_doc_store/embeddable_model.rb +2 -2
- data/lib/ar_doc_store/model.rb +7 -0
- data/lib/ar_doc_store/version.rb +1 -1
- data/test/model_test.rb +17 -0
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 356694c7ae51dc79dada72ed2c5dd0bc77ad7b4a3cada5eaacab14ed68422c03
|
4
|
+
data.tar.gz: 68a12942ffa575fc288edeb62192327435eab7fb94680408fe31cf921d651470
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e9b979cefc4e7756b9e4ebed8611b64b0e23cedc5ff9eed73d3154cb17fc5aaa96bb779edde75095c884f6a7df1491b9373a3bc2f2c869c660e835c78ceaf356
|
7
|
+
data.tar.gz: e5fbb30816f2ebf1ae9c4d5597c6e714c584317301d22ad304c8efec57577034e47930e62ca8dedbd38e6d70f8bb06b50a3bb39b296aec0226ff131b0b1f6deb
|
data/Rakefile
CHANGED
@@ -8,8 +8,10 @@ end
|
|
8
8
|
|
9
9
|
namespace :test do
|
10
10
|
task :prepare_ar_doc_store do
|
11
|
+
config = { adapter: 'postgresql', database: 'ar_doc_store_test', username: 'postgres', password: 'postgres' }
|
11
12
|
require 'active_record'
|
12
|
-
ActiveRecord::
|
13
|
+
ActiveRecord::Tasks::DatabaseTasks.create(config)
|
14
|
+
ActiveRecord::Base.establish_connection(config)
|
13
15
|
|
14
16
|
ActiveRecord::Schema.define do
|
15
17
|
self.verbose = false
|
data/ar_doc_store.gemspec
CHANGED
@@ -21,6 +21,6 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.add_dependency "activerecord", ">=6.1"
|
22
22
|
spec.add_dependency "pg"
|
23
23
|
spec.add_development_dependency "bundler", "~> 2.2"
|
24
|
-
spec.add_development_dependency "rake", "~>
|
24
|
+
spec.add_development_dependency "rake", "~> 12.2"
|
25
25
|
spec.add_development_dependency "simplecov"
|
26
26
|
end
|
@@ -93,6 +93,7 @@ module ArDocStore
|
|
93
93
|
|
94
94
|
class AssignEmbedsManyAttributes
|
95
95
|
attr_reader :models, :assn_name, :parent, :class_name
|
96
|
+
|
96
97
|
def initialize(parent, class_name, assn_name, models, values)
|
97
98
|
@parent, @class_name, @assn_name, @models, @values = parent, class_name, assn_name, models, values
|
98
99
|
@models ||= ArDocStore::EmbeddedCollection.new
|
@@ -109,8 +110,8 @@ module ArDocStore
|
|
109
110
|
|
110
111
|
private
|
111
112
|
|
112
|
-
|
113
|
-
|
113
|
+
attr_accessor :values
|
114
|
+
attr_writer :models
|
114
115
|
|
115
116
|
def process_existing_model(value)
|
116
117
|
return false unless value.key?(:id)
|
@@ -22,8 +22,8 @@ module ArDocStore
|
|
22
22
|
attr_accessor :parent
|
23
23
|
attr_accessor :embedded_as
|
24
24
|
|
25
|
-
class_attribute :json_attributes
|
26
|
-
self.json_attributes = HashWithIndifferentAccess.new
|
25
|
+
# class_attribute :json_attributes
|
26
|
+
# self.json_attributes = HashWithIndifferentAccess.new
|
27
27
|
|
28
28
|
json_attribute :id, :string #, default: -> { SecureRandom.uuid }
|
29
29
|
|
data/lib/ar_doc_store/model.rb
CHANGED
@@ -8,6 +8,7 @@ module ArDocStore
|
|
8
8
|
mod.send :include, InstanceMethods
|
9
9
|
mod.after_initialize :assign_json_data
|
10
10
|
mod.before_validation :save_json_data
|
11
|
+
mod.before_save :ensure_json_data_saved
|
11
12
|
mod.before_save :mark_embeds_as_persisted
|
12
13
|
end
|
13
14
|
|
@@ -28,6 +29,12 @@ module ArDocStore
|
|
28
29
|
json_attributes.each do |key, value|
|
29
30
|
write_store_attribute(json_column, key, read_attribute(key)) if changes.key?(key)
|
30
31
|
end
|
32
|
+
@json_data_saved = true
|
33
|
+
end
|
34
|
+
|
35
|
+
def ensure_json_data_saved
|
36
|
+
save_json_data unless @json_data_saved
|
37
|
+
@json_data_saved = nil
|
31
38
|
end
|
32
39
|
|
33
40
|
def mark_embeds_as_persisted
|
data/lib/ar_doc_store/version.rb
CHANGED
data/test/model_test.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require_relative './test_helper'
|
2
|
+
|
3
|
+
class ModelTest < MiniTest::Test
|
4
|
+
def test_save_with_validation
|
5
|
+
b = Building.new name: 'test'
|
6
|
+
assert b.save
|
7
|
+
b.reload
|
8
|
+
assert_equal 'test', b.name
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_save_without_validation
|
12
|
+
b = Building.new name: 'test'
|
13
|
+
assert b.save(validate: false)
|
14
|
+
b.reload
|
15
|
+
assert_equal 'test', b.name
|
16
|
+
end
|
17
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ar_doc_store
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Furber
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-03-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '12.2'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '12.2'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: simplecov
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -130,6 +130,7 @@ files:
|
|
130
130
|
- test/attributes/float_attribute_test.rb
|
131
131
|
- test/attributes/integer_attribute_test.rb
|
132
132
|
- test/attributes/string_attribute_test.rb
|
133
|
+
- test/model_test.rb
|
133
134
|
- test/test_helper.rb
|
134
135
|
homepage: https://github.com/dfurber/ar_doc_store
|
135
136
|
licenses:
|
@@ -166,4 +167,5 @@ test_files:
|
|
166
167
|
- test/attributes/float_attribute_test.rb
|
167
168
|
- test/attributes/integer_attribute_test.rb
|
168
169
|
- test/attributes/string_attribute_test.rb
|
170
|
+
- test/model_test.rb
|
169
171
|
- test/test_helper.rb
|