ardb 0.29.1 → 0.29.2
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/.l.yml +8 -0
- data/.rubocop.yml +3 -0
- data/.t.yml +6 -0
- data/Gemfile +4 -2
- data/ardb.gemspec +9 -6
- data/bin/ardb +2 -0
- data/lib/ardb.rb +75 -61
- data/lib/ardb/adapter/base.rb +40 -19
- data/lib/ardb/adapter/mysql.rb +2 -0
- data/lib/ardb/adapter/postgresql.rb +36 -25
- data/lib/ardb/adapter/sqlite.rb +7 -7
- data/lib/ardb/adapter_spy.rb +16 -14
- data/lib/ardb/cli.rb +23 -18
- data/lib/ardb/cli/clirb.rb +5 -0
- data/lib/ardb/cli/commands.rb +184 -95
- data/lib/ardb/db_tests.rb +2 -0
- data/lib/ardb/default_order_by.rb +13 -11
- data/lib/ardb/migration.rb +7 -4
- data/lib/ardb/record_spy.rb +42 -38
- data/lib/ardb/relation_spy.rb +27 -25
- data/lib/ardb/require_autoloaded_active_record_files.rb +3 -1
- data/lib/ardb/test_helpers.rb +11 -9
- data/lib/ardb/use_db_default.rb +9 -7
- data/lib/ardb/version.rb +3 -1
- data/script/determine_autoloaded_active_record_files.rb +22 -20
- data/test/helper.rb +2 -0
- data/test/support/factory.rb +2 -1
- data/test/support/fake_schema.rb +3 -1
- data/test/support/postgresql/schema.rb +3 -1
- data/test/support/postgresql/setup_test_db.rb +3 -1
- data/test/support/relative_require_test_db_file.rb +1 -0
- data/test/support/require_test_db_file.rb +1 -0
- data/test/unit/adapter/base_tests.rb +9 -5
- data/test/unit/adapter/mysql_tests.rb +2 -0
- data/test/unit/adapter/postgresql_tests.rb +14 -14
- data/test/unit/adapter/sqlite_tests.rb +2 -0
- data/test/unit/adapter_spy_tests.rb +4 -1
- data/test/unit/ardb_tests.rb +28 -13
- data/test/unit/cli_tests.rb +47 -34
- data/test/unit/db_tests_tests.rb +4 -1
- data/test/unit/default_order_by_tests.rb +18 -13
- data/test/unit/migration_tests.rb +8 -5
- data/test/unit/record_spy_tests.rb +21 -14
- data/test/unit/relation_spy_tests.rb +28 -22
- data/test/unit/test_helpers_tests.rb +4 -1
- data/test/unit/use_db_default_tests.rb +16 -7
- metadata +27 -11
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "assert"
|
2
4
|
require "ardb/test_helpers"
|
3
5
|
|
@@ -124,7 +126,8 @@ module Ardb::TestHelpers
|
|
124
126
|
class ResetDbTests < UsageTests
|
125
127
|
desc "reset db methods"
|
126
128
|
|
127
|
-
should "tell the adapter to drop/create the db and load the schema
|
129
|
+
should "tell the adapter to drop/create the db and load the schema "\
|
130
|
+
"only once" do
|
128
131
|
assert_equal 0, @adapter_spy.drop_db_called_count
|
129
132
|
assert_equal 0, @adapter_spy.create_db_called_count
|
130
133
|
assert_equal 0, @adapter_spy.load_schema_called_count
|
@@ -1,7 +1,9 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require "assert"
|
2
4
|
require "ardb/use_db_default"
|
3
5
|
|
4
|
-
require "much-
|
6
|
+
require "much-mixin"
|
5
7
|
require "ardb/record_spy"
|
6
8
|
|
7
9
|
module Ardb::UseDbDefault
|
@@ -17,8 +19,8 @@ module Ardb::UseDbDefault
|
|
17
19
|
|
18
20
|
should have_imeths :use_db_default, :ardb_use_db_default_attrs
|
19
21
|
|
20
|
-
should "use much-
|
21
|
-
assert_includes
|
22
|
+
should "use much-mixin" do
|
23
|
+
assert_includes MuchMixin, Ardb::UseDbDefault
|
22
24
|
end
|
23
25
|
|
24
26
|
should "know its use db default attrs" do
|
@@ -93,7 +95,9 @@ module Ardb::UseDbDefault
|
|
93
95
|
# when it was created (yielded)
|
94
96
|
attrs_before_yield = nil
|
95
97
|
subject.instance_eval do
|
96
|
-
ardb_allow_db_to_default_attrs
|
98
|
+
ardb_allow_db_to_default_attrs do
|
99
|
+
attrs_before_yield = attributes.dup
|
100
|
+
end
|
97
101
|
end
|
98
102
|
|
99
103
|
assert_instance_of Hash, attrs_before_yield
|
@@ -117,7 +121,7 @@ module Ardb::UseDbDefault
|
|
117
121
|
|
118
122
|
applied_expr = @record_class.relation_spy.applied.first
|
119
123
|
assert_equal :where, applied_expr.type
|
120
|
-
assert_equal [{ :
|
124
|
+
assert_equal [{ id: subject.id }], applied_expr.args
|
121
125
|
|
122
126
|
@unchanged_attr_names.each do |name|
|
123
127
|
exp = @record_class.relation_spy.pluck_values[name]
|
@@ -141,16 +145,21 @@ module Ardb::UseDbDefault
|
|
141
145
|
attr_accessor :attributes, :changed_use_db_default_attrs
|
142
146
|
|
143
147
|
def use_db_default_attr_changed?(attr_name)
|
144
|
-
|
148
|
+
changed_use_db_default_attrs.include?(attr_name)
|
145
149
|
end
|
146
150
|
|
147
151
|
def method_missing(method, *args, &block)
|
148
152
|
match_data = method.to_s.match(/(\w+)_changed\?/)
|
149
153
|
if match_data && match_data[1]
|
150
|
-
|
154
|
+
use_db_default_attr_changed?(match_data[1])
|
151
155
|
else
|
152
156
|
super
|
153
157
|
end
|
154
158
|
end
|
159
|
+
|
160
|
+
def respond_to_missing?(method)
|
161
|
+
match_data = method.to_s.match(/(\w+)_changed\?/)
|
162
|
+
match_data && match_data[1]
|
163
|
+
end
|
155
164
|
end
|
156
165
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ardb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.29.
|
4
|
+
version: 0.29.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kelly Redding
|
@@ -9,22 +9,36 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2021-01-
|
12
|
+
date: 2021-01-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: much-style-guide
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
|
+
requirements:
|
18
|
+
- - "~>"
|
19
|
+
- !ruby/object:Gem::Version
|
20
|
+
version: 0.6.0
|
21
|
+
type: :development
|
22
|
+
prerelease: false
|
23
|
+
version_requirements: !ruby/object:Gem::Requirement
|
24
|
+
requirements:
|
25
|
+
- - "~>"
|
26
|
+
- !ruby/object:Gem::Version
|
27
|
+
version: 0.6.0
|
14
28
|
- !ruby/object:Gem::Dependency
|
15
29
|
name: assert
|
16
30
|
requirement: !ruby/object:Gem::Requirement
|
17
31
|
requirements:
|
18
32
|
- - "~>"
|
19
33
|
- !ruby/object:Gem::Version
|
20
|
-
version: 2.19.
|
34
|
+
version: 2.19.3
|
21
35
|
type: :development
|
22
36
|
prerelease: false
|
23
37
|
version_requirements: !ruby/object:Gem::Requirement
|
24
38
|
requirements:
|
25
39
|
- - "~>"
|
26
40
|
- !ruby/object:Gem::Version
|
27
|
-
version: 2.19.
|
41
|
+
version: 2.19.3
|
28
42
|
- !ruby/object:Gem::Dependency
|
29
43
|
name: activerecord
|
30
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -66,33 +80,33 @@ dependencies:
|
|
66
80
|
- !ruby/object:Gem::Version
|
67
81
|
version: '7.0'
|
68
82
|
- !ruby/object:Gem::Dependency
|
69
|
-
name: much-
|
83
|
+
name: much-mixin
|
70
84
|
requirement: !ruby/object:Gem::Requirement
|
71
85
|
requirements:
|
72
86
|
- - "~>"
|
73
87
|
- !ruby/object:Gem::Version
|
74
|
-
version: 0.2.
|
88
|
+
version: 0.2.4
|
75
89
|
type: :runtime
|
76
90
|
prerelease: false
|
77
91
|
version_requirements: !ruby/object:Gem::Requirement
|
78
92
|
requirements:
|
79
93
|
- - "~>"
|
80
94
|
- !ruby/object:Gem::Version
|
81
|
-
version: 0.2.
|
95
|
+
version: 0.2.4
|
82
96
|
- !ruby/object:Gem::Dependency
|
83
97
|
name: scmd
|
84
98
|
requirement: !ruby/object:Gem::Requirement
|
85
99
|
requirements:
|
86
100
|
- - "~>"
|
87
101
|
- !ruby/object:Gem::Version
|
88
|
-
version: 3.0.
|
102
|
+
version: 3.0.4
|
89
103
|
type: :runtime
|
90
104
|
prerelease: false
|
91
105
|
version_requirements: !ruby/object:Gem::Requirement
|
92
106
|
requirements:
|
93
107
|
- - "~>"
|
94
108
|
- !ruby/object:Gem::Version
|
95
|
-
version: 3.0.
|
109
|
+
version: 3.0.4
|
96
110
|
description: Activerecord database tools.
|
97
111
|
email:
|
98
112
|
- kelly@kellyredding.com
|
@@ -103,6 +117,9 @@ extensions: []
|
|
103
117
|
extra_rdoc_files: []
|
104
118
|
files:
|
105
119
|
- ".gitignore"
|
120
|
+
- ".l.yml"
|
121
|
+
- ".rubocop.yml"
|
122
|
+
- ".t.yml"
|
106
123
|
- Gemfile
|
107
124
|
- LICENSE
|
108
125
|
- README.md
|
@@ -171,8 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
171
188
|
- !ruby/object:Gem::Version
|
172
189
|
version: '0'
|
173
190
|
requirements: []
|
174
|
-
|
175
|
-
rubygems_version: 2.7.6.2
|
191
|
+
rubygems_version: 3.2.4
|
176
192
|
signing_key:
|
177
193
|
specification_version: 4
|
178
194
|
summary: Activerecord database tools.
|