schema_monkey 2.1.3 → 2.1.6

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
- SHA1:
3
- metadata.gz: bd2b4e25c9e2bcc5fda7640439069570006e8551
4
- data.tar.gz: 2270a11166bdffb014753139c575abfd2679d877
2
+ SHA256:
3
+ metadata.gz: e72d1832f0372062ca33b717a482d10516dc4460611013349d63fbae4ea2a8a8
4
+ data.tar.gz: 7e10e59d22a47907534aec2a8dc5da4ef652ded6e3576632205725a82b66fe56
5
5
  SHA512:
6
- metadata.gz: 3e7ba30f9468eca1f5f65590df3fbf99f67cfee9eaa75beb1c687215f85da7ace697de4fd543753bb4a129249d57777f84bbd147e10c89fca65c94d8c2975e2f
7
- data.tar.gz: df9a386fd3ee4d6e97596bca33137826a362d2adebcd9239311588026a0627cf1c80321aa33aeeb4f991bbcb077262b18c7aa372ebf15ad9e0266fc7729f861c
6
+ metadata.gz: 5892789299af8e8ae364932970dc51546d260ae79edefd0b1d713d17c37257e286b353528c2b751972325a5164f2a04177e9d94f322e2bf367fafeff48f4a4a2
7
+ data.tar.gz: b2d15105d0d275b5eca5befb7cfe0401c949f35f1bc37c8647a176746f5f77654213ec73668f34366c0260d2efebcee960b7a7e4549b3bb5c82163a49a7503de
data/.travis.yml CHANGED
@@ -5,11 +5,20 @@
5
5
  ---
6
6
  sudo: false
7
7
  rvm:
8
- - 2.1.5
8
+ - 2.3.1
9
9
  gemfile:
10
10
  - gemfiles/activerecord-4.2/Gemfile.mysql2
11
11
  - gemfiles/activerecord-4.2/Gemfile.postgresql
12
12
  - gemfiles/activerecord-4.2/Gemfile.sqlite3
13
+ - gemfiles/activerecord-5.0/Gemfile.mysql2
14
+ - gemfiles/activerecord-5.0/Gemfile.postgresql
15
+ - gemfiles/activerecord-5.0/Gemfile.sqlite3
16
+ - gemfiles/activerecord-5.1/Gemfile.mysql2
17
+ - gemfiles/activerecord-5.1/Gemfile.postgresql
18
+ - gemfiles/activerecord-5.1/Gemfile.sqlite3
19
+ - gemfiles/activerecord-5.2/Gemfile.mysql2
20
+ - gemfiles/activerecord-5.2/Gemfile.postgresql
21
+ - gemfiles/activerecord-5.2/Gemfile.sqlite3
13
22
  env: POSTGRESQL_DB_USER=postgres MYSQL_DB_USER=travis
14
23
  addons:
15
24
  postgresql: '9.4'
data/README.md CHANGED
@@ -80,7 +80,7 @@ module PracticalJoker
80
80
  module Base
81
81
 
82
82
  def save(*args)
83
- raise "April Fools!" if Time.now.yday == 31
83
+ raise "April Fools!" if Time.now.yday == 91
84
84
  super
85
85
  end
86
86
 
@@ -214,7 +214,7 @@ end
214
214
  SchemaMonkey.register(UColumnImpliesUnique)
215
215
  ```
216
216
 
217
- SchemaMonkey uses the module `MyLaterClient::Middleware::Index::Exists` as [modware](https://github.com/ronen/modware) middleware for the corresponding stack. The middleware module can define middleware methods `before`, `arround`, `after`, or `implementation` as per [modware](https://github.com/ronen/modware)
217
+ SchemaMonkey uses the module `MyLaterClient::Middleware::Index::Exists` as [modware](https://github.com/ronen/modware) middleware for the corresponding stack. The middleware module can define middleware methods `before`, `around`, `after`, or `implement` as per [modware](https://github.com/ronen/modware)
218
218
 
219
219
  Note that the distinguishing feature between defining and using a stack is whether `Env` is defined.
220
220
 
@@ -227,11 +227,17 @@ SchemaMonkey is tested on:
227
227
 
228
228
  <!-- SCHEMA_DEV: MATRIX - begin -->
229
229
  <!-- These lines are auto-generated by schema_dev based on schema_dev.yml -->
230
- * ruby **2.1.5** with activerecord **4.2**, using **mysql2**, **sqlite3** or **postgresql**
230
+ * ruby **2.3.1** with activerecord **4.2**, using **mysql2**, **sqlite3** or **postgresql**
231
+ * ruby **2.3.1** with activerecord **5.0**, using **mysql2**, **sqlite3** or **postgresql**
232
+ * ruby **2.3.1** with activerecord **5.1**, using **mysql2**, **sqlite3** or **postgresql**
233
+ * ruby **2.3.1** with activerecord **5.2**, using **mysql2**, **sqlite3** or **postgresql**
231
234
 
232
235
  <!-- SCHEMA_DEV: MATRIX - end -->
233
236
 
234
237
  ## Release Notes
238
+ * 2.1.6 -- stricter dependency on modware
239
+ * 2.1.5 -- Remove dependency on its-it :( #12
240
+ * 2.1.4 -- Loosen dependency to allow AR 5.0, and include it in the test matrix
235
241
  * 2.1.3 -- Guard against multiple insertion of modules.
236
242
  * 2.1.2 -- Insert self earlier; don't wait for connection adapter to be instantiated. Fixes #6 re `db:schema:load`
237
243
  * 2.1.1 -- Bug fix: don't choke if a module contains a BasicObject const
@@ -1,3 +1,3 @@
1
1
  eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
2
 
3
- gem "activerecord", "~> 4.2.0"
3
+ gem "activerecord", "~> 4.2.6"
@@ -2,9 +2,9 @@ require "pathname"
2
2
  eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
3
 
4
4
  platform :ruby do
5
- gem "mysql2"
5
+ gem "mysql2", '>= 0.3.18', '< 0.5'
6
6
  end
7
7
 
8
8
  platform :jruby do
9
9
  gem 'activerecord-jdbcmysql-adapter'
10
- end
10
+ end
@@ -2,9 +2,9 @@ require "pathname"
2
2
  eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
3
 
4
4
  platform :ruby do
5
- gem "pg"
5
+ gem "pg", "< 1"
6
6
  end
7
7
 
8
8
  platform :jruby do
9
9
  gem 'activerecord-jdbcpostgresql-adapter'
10
- end
10
+ end
@@ -0,0 +1,3 @@
1
+ eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
+
3
+ gem "activerecord", "~> 5.0.1"
@@ -0,0 +1,10 @@
1
+ require "pathname"
2
+ eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
+
4
+ platform :ruby do
5
+ gem "mysql2"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcmysql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ require "pathname"
2
+ eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
+
4
+ platform :ruby do
5
+ gem "pg", "< 1"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcpostgresql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ require "pathname"
2
+ eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
+
4
+ platform :ruby do
5
+ gem "sqlite3"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
+ end
@@ -0,0 +1,3 @@
1
+ eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
+
3
+ gem "activerecord", "~> 5.1.0"
@@ -0,0 +1,10 @@
1
+ require "pathname"
2
+ eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
+
4
+ platform :ruby do
5
+ gem "mysql2"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcmysql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ require "pathname"
2
+ eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
+
4
+ platform :ruby do
5
+ gem "pg", "< 1"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcpostgresql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ require "pathname"
2
+ eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
+
4
+ platform :ruby do
5
+ gem "sqlite3"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
+ end
@@ -0,0 +1,3 @@
1
+ eval File.read File.expand_path('../../Gemfile.base', __FILE__)
2
+
3
+ gem "activerecord", ">= 5.2.0.beta0", "< 5.3"
@@ -0,0 +1,10 @@
1
+ require "pathname"
2
+ eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
+
4
+ platform :ruby do
5
+ gem "mysql2"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcmysql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ require "pathname"
2
+ eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
+
4
+ platform :ruby do
5
+ gem "pg"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcpostgresql-adapter'
10
+ end
@@ -0,0 +1,10 @@
1
+ require "pathname"
2
+ eval(Pathname.new(__FILE__).dirname.join("Gemfile.base").read, binding)
3
+
4
+ platform :ruby do
5
+ gem "sqlite3"
6
+ end
7
+
8
+ platform :jruby do
9
+ gem 'activerecord-jdbcsqlite3-adapter', '>=1.3.0.beta2'
10
+ end
@@ -35,7 +35,7 @@ module SchemaMonkey
35
35
  path = mod.to_s.sub(/^#{@root}::#{base}::/, '')
36
36
  if dbm
37
37
  path = path.split('::')
38
- if (i = path.find_index(&it =~ /\b#{dbm}\b/i)) # delete first occurence
38
+ if (i = path.find_index { |it| it =~ /\b#{dbm}\b/i }) # delete first occurence
39
39
  path.delete_at i
40
40
  end
41
41
  path = path.join('::').gsub(/#{dbm}/i, dbm.to_s) # canonicalize case for things like PostgreSQLAdapter
@@ -56,8 +56,8 @@ module SchemaMonkey
56
56
 
57
57
  modules = []
58
58
  modules += Module.descendants(container, can_load: accept)
59
- modules.select!(&it.to_s =~ accept) if accept
60
- modules.reject!(&it.to_s =~ reject) if reject
59
+ modules.select! { |it| it.to_s =~ accept } if accept
60
+ modules.reject! { |it| it.to_s =~ reject } if reject
61
61
  modules
62
62
  end
63
63
 
@@ -27,7 +27,7 @@ module SchemaMonkey
27
27
  def descendants(mod, can_load: nil)
28
28
  consts, auto = mod.constants.group_by{|c| !!mod.autoload?(c)}.values_at(false, true)
29
29
  consts ||= []
30
- consts += auto.select &it.to_s =~ can_load if can_load and auto
30
+ consts += auto.select { |it| it.to_s =~ can_load } if can_load and auto
31
31
  children = consts.map{|c| mod.const_get(c) }.select { |obj|
32
32
  obj.is_a?(::Module) rescue nil
33
33
  }
@@ -21,7 +21,7 @@ module SchemaMonkey
21
21
 
22
22
  def insert(dbm: nil)
23
23
  insert if dbm and not @inserted # first do all non-dbm-specific insertions
24
- @client_map.values.each &it.insert(dbm: dbm)
24
+ @client_map.values.each { |it| it.insert(dbm: dbm) }
25
25
  @inserted = true
26
26
  @inserted_dbm = dbm if dbm
27
27
  end
@@ -1,3 +1,3 @@
1
1
  module SchemaMonkey
2
- VERSION = "2.1.3"
2
+ VERSION = "2.1.6"
3
3
  end
data/lib/schema_monkey.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'active_record'
2
2
  require 'active_support/core_ext/string'
3
- require 'its-it'
4
3
  require 'modware'
5
4
 
6
5
  require_relative "schema_monkey/active_record"
data/schema_dev.yml CHANGED
@@ -1,7 +1,10 @@
1
1
  ruby:
2
- - 2.1.5
2
+ - 2.3.1
3
3
  activerecord:
4
4
  - 4.2
5
+ - 5.0
6
+ - 5.1
7
+ - 5.2
5
8
  db:
6
9
  - mysql2
7
10
  - sqlite3
@@ -19,15 +19,15 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.required_ruby_version = ">= 2.1.0"
22
- spec.add_dependency "activerecord", "~> 4.2"
23
- spec.add_dependency "its-it"
24
- spec.add_dependency "modware", "~> 0.1"
22
+ spec.add_dependency "activerecord", ">= 4.2"
23
+ spec.add_dependency "modware", "~> 0.1.0"
25
24
 
26
- spec.add_development_dependency "bundler", "~> 1.7"
25
+ spec.add_development_dependency "bundler"
27
26
  spec.add_development_dependency "rake", "~> 10.0"
28
27
  spec.add_development_dependency "rspec", "~> 3.0"
29
28
  spec.add_development_dependency "rspec-given", "~> 3.6"
30
- spec.add_development_dependency "schema_dev", "~> 3.0"
29
+ spec.add_development_dependency "its-it"
30
+ spec.add_development_dependency "schema_dev", "~> 3.7"
31
31
  spec.add_development_dependency "simplecov"
32
32
  spec.add_development_dependency "simplecov-gem-profile"
33
33
  end
data/spec/spec_helper.rb CHANGED
@@ -9,6 +9,7 @@ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
9
9
 
10
10
  require 'rspec'
11
11
  require 'rspec/given'
12
+ require 'its-it'
12
13
  require 'active_record'
13
14
  require 'schema_monkey'
14
15
  require 'schema_dev/rspec'
metadata CHANGED
@@ -1,71 +1,57 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: schema_monkey
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.3
4
+ version: 2.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - ronen barzel
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-11 00:00:00.000000000 Z
11
+ date: 2022-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '4.2'
20
- type: :runtime
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: '4.2'
27
- - !ruby/object:Gem::Dependency
28
- name: its-it
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
17
  - - ">="
32
18
  - !ruby/object:Gem::Version
33
- version: '0'
19
+ version: '4.2'
34
20
  type: :runtime
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
24
  - - ">="
39
25
  - !ruby/object:Gem::Version
40
- version: '0'
26
+ version: '4.2'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: modware
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
31
  - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '0.1'
33
+ version: 0.1.0
48
34
  type: :runtime
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
38
  - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: '0.1'
40
+ version: 0.1.0
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: bundler
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - "~>"
45
+ - - ">="
60
46
  - !ruby/object:Gem::Version
61
- version: '1.7'
47
+ version: '0'
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - "~>"
52
+ - - ">="
67
53
  - !ruby/object:Gem::Version
68
- version: '1.7'
54
+ version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rake
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -108,20 +94,34 @@ dependencies:
108
94
  - - "~>"
109
95
  - !ruby/object:Gem::Version
110
96
  version: '3.6'
97
+ - !ruby/object:Gem::Dependency
98
+ name: its-it
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: schema_dev
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '3.0'
117
+ version: '3.7'
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '3.0'
124
+ version: '3.7'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: simplecov
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -169,6 +169,18 @@ files:
169
169
  - gemfiles/activerecord-4.2/Gemfile.mysql2
170
170
  - gemfiles/activerecord-4.2/Gemfile.postgresql
171
171
  - gemfiles/activerecord-4.2/Gemfile.sqlite3
172
+ - gemfiles/activerecord-5.0/Gemfile.base
173
+ - gemfiles/activerecord-5.0/Gemfile.mysql2
174
+ - gemfiles/activerecord-5.0/Gemfile.postgresql
175
+ - gemfiles/activerecord-5.0/Gemfile.sqlite3
176
+ - gemfiles/activerecord-5.1/Gemfile.base
177
+ - gemfiles/activerecord-5.1/Gemfile.mysql2
178
+ - gemfiles/activerecord-5.1/Gemfile.postgresql
179
+ - gemfiles/activerecord-5.1/Gemfile.sqlite3
180
+ - gemfiles/activerecord-5.2/Gemfile.base
181
+ - gemfiles/activerecord-5.2/Gemfile.mysql2
182
+ - gemfiles/activerecord-5.2/Gemfile.postgresql
183
+ - gemfiles/activerecord-5.2/Gemfile.sqlite3
172
184
  - lib/schema_monkey.rb
173
185
  - lib/schema_monkey/active_record.rb
174
186
  - lib/schema_monkey/client.rb
@@ -189,7 +201,7 @@ homepage: https://github.com/SchemaPlus/schema_monkey
189
201
  licenses:
190
202
  - MIT
191
203
  metadata: {}
192
- post_install_message:
204
+ post_install_message:
193
205
  rdoc_options: []
194
206
  require_paths:
195
207
  - lib
@@ -204,9 +216,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
204
216
  - !ruby/object:Gem::Version
205
217
  version: '0'
206
218
  requirements: []
207
- rubyforge_project:
208
- rubygems_version: 2.2.2
209
- signing_key:
219
+ rubygems_version: 3.0.8
220
+ signing_key:
210
221
  specification_version: 4
211
222
  summary: Provides a module insertion protocol to facilitate adding features to ActiveRecord
212
223
  test_files: