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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b5e0f3b286ab52eebdb032146c7bd7c368f76888221e3bdf1c01f3a7d088d5ef
4
- data.tar.gz: 96e38a0850648b7eb8af1f7b1ebadc44c136b0633f0c33a398ab3e632d734f88
3
+ metadata.gz: 356694c7ae51dc79dada72ed2c5dd0bc77ad7b4a3cada5eaacab14ed68422c03
4
+ data.tar.gz: 68a12942ffa575fc288edeb62192327435eab7fb94680408fe31cf921d651470
5
5
  SHA512:
6
- metadata.gz: 5d4cc8a28403eaf2f42277b1c5d1f2d702380c3a90b2dbce9a80aec55d02af3c716dcd15075eb513c8ac1d48f83db3a20e1006770d539eb81be16c2709f04b10
7
- data.tar.gz: f7c4ab93d371cf71a7e8a29542e9a00a8a84d64910b9df8763ab56622531bcf5f4545f703c8755ec70bf18b49208ee1ac6996c93e7e44e54243fca8fd95bdecf
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::Base.establish_connection(adapter: 'postgresql', database: 'ar_doc_store_test', username: 'postgres', password: 'postgres')
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", "~> 10.0"
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
- attr_writer :models, :values
113
- attr_reader :values, :assn_name
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
 
@@ -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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ArDocStore
4
- VERSION = "2.1.2"
4
+ VERSION = "2.1.3"
5
5
  end
@@ -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.2
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-01-26 00:00:00.000000000 Z
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: '10.0'
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: '10.0'
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