miguel 0.1.0.pre7 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: c9d433cde1f5c11fbaa6f05447d646c48164a9ae
4
- data.tar.gz: fc5cdeef2a2ddd96b23fdc815dbfd4e7befd91d8
2
+ SHA256:
3
+ metadata.gz: a2c18dba8459d1bdfe249763d04a4d423ff3a68c647552e3a1930d4a558820b7
4
+ data.tar.gz: 2cc0ca7730fd4ce526ccc2b96f59effc2ab78611d9c45392bee4cb3565c8d883
5
5
  SHA512:
6
- metadata.gz: e3f618e52170198078448a50a0fb7673958a5ed3ef7e01eb42226035008e7219d61e5851d7c4b7ceed82bb5e0c878ca95c6cc5b813fbf09684af94e28eaaacb7
7
- data.tar.gz: dd7b64ea4f90f82af8112405a268690311f2ad6d82fce7beab3c7c042394dbf1d0d482c91c8e24b9c12a493e22c3d72f4cb70248158c31adb9d914295486b337
6
+ metadata.gz: 9c64bf876100abd4bad1dd05e0aebd5f4040c497bbff4afce009d60018d52f6238e896d64aac813ccb46aff6b47e82179d77708be775bfca1d80a9eca06e71a6
7
+ data.tar.gz: abcabe36a6bcb93742611ccd3410702af25850fe49862a70e8e6e8098d545dd195c501d547d322b4a118527c65897669018bd03fbfd61f8bd99ec6920e8e3c48
data/.gitignore CHANGED
@@ -1,3 +1,7 @@
1
1
  *~
2
+ Gemfile.lock
2
3
  /miguel-*.gem
4
+ /bundler
3
5
  /coverage
6
+ /doc
7
+ /.yardoc
data/.travis.yml CHANGED
@@ -3,11 +3,15 @@
3
3
  language: ruby
4
4
  rvm:
5
5
  - ruby-head
6
- - 2.2.3
7
- - 2.1.7
6
+ - 2.6.3
7
+ - 2.5.5
8
+ - 2.4.6
9
+ - 2.3.8
10
+ - 2.2.10
11
+ - 2.1.10
8
12
  - 2.0.0
9
13
  - 1.9.3
10
- - rbx-2
14
+ - rbx-3
11
15
  - jruby-head
12
16
  - jruby-19mode
13
17
  gemfile: .travis.gemfile
@@ -15,9 +19,12 @@ env:
15
19
  global:
16
20
  # travis encrypt CODECLIMATE_REPO_TOKEN=???
17
21
  secure: WjkizgQWf8gx1KIfPsX99TR6uJgnF9ybHUtu/kz0JHWYNif8IJ7qsO+kCXzdGtTiwMgQL4cHzYqbGa6VAiiPQMmG9NPLZ1Q4STLW9W4afg2lOqQmyGk0iSapEu/YXlWM6kZW4IcY/4BG8DzgfJnzy6+4yWBGZFdMwcpJEVZpy02c3Y6RBsrFJ6wz1BpWZR8bHaFXrLzfpHeS8t8h1OYetf1RLg9MvPvankkoIBBxw6ahV9QhG1O2cXyzlfH30wQA90stTFOybUkJ/hVLlCXyxEbjuhUKTWeU4s/Uw5XhA3k5ll0GWyaTUQU3aSWwTDv2Z/dncwR2y8RMuGJqHVLcTz2jtb+NINncrYq5ybGUaCNpdJea7/OS4R6M9t2VS666j5dPN4tVsTgyAONzgHHEmTYwHk3s9s4EKyoHAl398Kv/dazwSmBasvc1kIDzsi6n83k4MHMSNFTBlA4Jz0LaQ7Qx0hxS7MIsGhDmVeeEOQOw1idof6hQdBCpcLfO9NCxqRFWYAgK99U5mXjqRWBeQGyEwrtgbvyweanDrFfHtVEQpUrW1Do4zNz9jZ+MS43hKViu3loH3y20w8Vi96UXWoDp/RreLGMpM33V3xzCC+U3Ex1Dckoq0TgQ8RFD3U/d0KdQJ02B8C3iRmNqD43jGJEJl5USnT58gwgPumLwoCs=
22
+ after_success:
23
+ - bundle exec codeclimate-test-reporter
18
24
  matrix:
19
25
  allow_failures:
20
26
  - rvm: ruby-head
27
+ - rvm: rbx-3
21
28
  - rvm: jruby-19mode
22
29
  - rvm: jruby-head
23
30
  before_script:
data/.yardopts ADDED
@@ -0,0 +1,3 @@
1
+ --markup-provider redcarpet
2
+ --markup markdown
3
+ - README.md LICENSE
data/Gemfile ADDED
@@ -0,0 +1,2 @@
1
+ source 'https://rubygems.org'
2
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2015 Patrik Rak (patrik@raxoft.cz)
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
data/README.md CHANGED
@@ -139,6 +139,8 @@ Finally, the `timestamps` helper can be used to create the
139
139
  If you pass the `mysql_timestamps: true` option to `define`,
140
140
  the `update_time` timestamp will have the MySQL auto-update feature enabled,
141
141
  and timestamps will use the `'0000-00-00 00:00:00'` default by default.
142
+ The latter can be also enabled and disabled explicitly by setting
143
+ the `zero_timestamps` option to `true` or `false`, respectively.
142
144
 
143
145
  ## Using the command
144
146
 
@@ -208,7 +210,7 @@ and adjust the schema description accordingly.
208
210
 
209
211
  ## Credits
210
212
 
211
- Copyright © 2015 Patrik Rak
213
+ Copyright © 2015-2019 Patrik Rak
212
214
 
213
215
  Miguel is released under the MIT license.
214
216
 
data/Rakefile CHANGED
@@ -1,5 +1,7 @@
1
1
  # Rake makefile.
2
2
 
3
+ require 'rake/testtask'
4
+
3
5
  task :default => :test
4
6
 
5
7
  desc 'Run tests'
@@ -7,4 +9,11 @@ task :test do
7
9
  sh "bacon --automatic --quiet"
8
10
  end
9
11
 
12
+ desc 'Run tests with coverage'
13
+ task :cov do
14
+ sh "rm -rf coverage"
15
+ ENV['COVERAGE'] = 'on'
16
+ Rake::Task[:test].execute
17
+ end
18
+
10
19
  # EOF #
@@ -102,36 +102,48 @@ module Miguel
102
102
  # Execute the command itself.
103
103
  def execute( args )
104
104
  command = args.shift or fail "Missing command, use -h to see usage."
105
- case command
106
- when 'show'
107
- check_args( args, 1 )
108
- schema = get_schema( args.shift )
109
- print schema.dump
110
- when 'dump'
111
- check_args( args, 1 )
112
- schema = get_schema( args.shift )
113
- show_changes( Schema.new, schema )
114
- when 'down'
115
- check_args( args, 1 )
116
- schema = get_schema( args.shift )
117
- show_changes( schema, Schema.new )
118
- when 'diff'
119
- check_args( args, 2 )
120
- old_schema = get_schema( args.shift )
121
- new_schema = get_schema( args.shift )
122
- show_changes( old_schema, new_schema )
123
- when 'apply'
124
- check_args( args, 2 )
125
- db = get_db( args.shift )
126
- schema = get_schema( args.shift )
127
- apply_schema( db, schema )
128
- when 'clear'
129
- check_args( args, 1 )
130
- db = get_db( args.shift )
131
- apply_schema( db, Schema.new )
132
- else
133
- fail "Invalid command, use -h to see usage."
134
- end
105
+ method = "execute_#{command}"
106
+ fail "Invalid command, use -h to see usage." unless respond_to?( method, true )
107
+ check_args( args, method( method ).arity )
108
+ send( method, *args )
109
+ end
110
+
111
+ # Execute the show command.
112
+ def execute_show( name )
113
+ schema = get_schema( name )
114
+ print schema.dump
115
+ end
116
+
117
+ # Execute the dump command.
118
+ def execute_dump( name )
119
+ schema = get_schema( name )
120
+ show_changes( Schema.new, schema )
121
+ end
122
+
123
+ # Execute the down command.
124
+ def execute_down( name )
125
+ schema = get_schema( name )
126
+ show_changes( schema, Schema.new )
127
+ end
128
+
129
+ # Execute the diff command.
130
+ def execute_diff( old_name, new_name )
131
+ old_schema = get_schema( old_name )
132
+ new_schema = get_schema( new_name )
133
+ show_changes( old_schema, new_schema )
134
+ end
135
+
136
+ # Execute the apply command.
137
+ def execute_apply( db_name, name )
138
+ db = get_db( db_name )
139
+ schema = get_schema( name )
140
+ apply_schema( db, schema )
141
+ end
142
+
143
+ # Execute the clear command.
144
+ def execute_clear( db_name )
145
+ db = get_db( db_name )
146
+ apply_schema( db, Schema.new )
135
147
  end
136
148
 
137
149
  # Make sure the argument count is as expected.
@@ -36,46 +36,50 @@ module Miguel
36
36
  end
37
37
  end
38
38
 
39
- # Convert given database type to type and optional options used by our schema definitions.
40
- # The ruby type provided serves as a hint of what Sequel's idea of the type is.
41
- def revert_type_literal_internal( type, ruby_type )
39
+ # Convert given MySQL database type to type and optional options used by our schema definitions.
40
+ def revert_mysql_type( type )
41
+ case type
42
+ when /\Aint\(\d+\)\z/
43
+ return :integer, :default_size => 11
44
+ when /\Aint\(\d+\) unsigned\z/
45
+ return :integer, :unsigned => true, :default_size => 10
46
+ when /\Abigint\(\d+\)\z/
47
+ return :bigint, :default_size => 20
48
+ when /\Abigint\(\d+\) unsigned\z/
49
+ return :bigint, :unsigned => true, :default_size => 20
50
+ when /\Adecimal\(\d+,\d+\)\z/
51
+ return :decimal, :default_size => [ 10, 0 ]
52
+ when /\A(enum|set)\((.*)\)\z/
53
+ return $1.to_sym, :elements => parse_elements( $2 )
54
+ end
55
+ end
42
56
 
43
- return :boolean, :default_size => 1 if ruby_type == :boolean
57
+ # Convert given SQLite database type to type and optional options used by our schema definitions.
58
+ def revert_sqlite_type( type )
59
+ case type
60
+ when /\Ainteger UNSIGNED\z/
61
+ return :integer, :unsigned => true
62
+ end
63
+ end
44
64
 
45
- case db.database_type
46
- when :mysql
47
- case type
48
- when /\Aint\(\d+\)\z/
49
- return :integer, :default_size => 11
50
- when /\Aint\(\d+\) unsigned\z/
51
- return :integer, :unsigned => true, :default_size => 10
52
- when /\Abigint\(\d+\)\z/
53
- return :bigint, :default_size => 20
54
- when /\Adecimal\(\d+,\d+\)\z/
55
- return :decimal, :default_size => [ 10, 0 ]
56
- when /\A(enum|set)\((.*)\)\z/
57
- return $1.to_sym, :elements => parse_elements( $2 )
58
- end
59
- when :sqlite
60
- case type
61
- when /\Ainteger UNSIGNED\z/
62
- return :integer, :unsigned => true
63
- end
64
- when :postgres
65
- case type
66
- when /\Acharacter varying/
67
- return :String, :default_size => 255
68
- when /\Acharacter/
69
- return :String, :fixed => true, :default_size => 255
70
- when /\Atext\z/
71
- return :String, :text => true
72
- when /\Abytea\z/
73
- return :blob
74
- when /\Atimestamp/
75
- return :timestamp
76
- end
65
+ # Convert given Postgres database type to type and optional options used by our schema definitions.
66
+ def revert_postgres_type( type )
67
+ case type
68
+ when /\Acharacter varying/
69
+ return :String, :default_size => 255
70
+ when /\Acharacter/
71
+ return :String, :fixed => true, :default_size => 255
72
+ when /\Atext\z/
73
+ return :String, :text => true
74
+ when /\Abytea\z/
75
+ return :blob
76
+ when /\Atimestamp/
77
+ return :timestamp
77
78
  end
79
+ end
78
80
 
81
+ # Convert given generic database type to type and optional options used by our schema definitions.
82
+ def revert_generic_type( type )
79
83
  case type
80
84
  when /\Avarchar/
81
85
  return :String, :default_size => 255
@@ -88,8 +92,17 @@ module Miguel
88
92
  when /\A\w+\z/
89
93
  return type.to_sym
90
94
  end
95
+ end
96
+
97
+ # Convert given database type to type and optional options used by our schema definitions.
98
+ # The ruby type provided serves as a hint of what Sequel's idea of the type is.
99
+ def revert_type_literal_internal( type, ruby_type )
100
+ return :boolean, :default_size => 1 if ruby_type == :boolean
101
+
102
+ method = "revert_#{db.database_type}_type"
103
+ specific_type = send( method, type ) if respond_to?( method, true )
91
104
 
92
- ruby_type
105
+ specific_type || revert_generic_type( type ) || ruby_type
93
106
  end
94
107
 
95
108
  # Convert given database type to type and optional options used by our schema definitions.
data/lib/miguel/schema.rb CHANGED
@@ -158,7 +158,7 @@ module Miguel
158
158
  # Default options implied for certain types.
159
159
  DEFAULT_OPTS = {
160
160
  :string => { :size => 255, :text => false },
161
- :bigint => { :size => 20 },
161
+ :bigint => { :size => 20, :unsigned => false },
162
162
  :decimal => { :size => [ 10, 0 ] },
163
163
  :integer => { :unsigned => false },
164
164
  :time => { :only_time => true },
@@ -302,7 +302,7 @@ module Miguel
302
302
 
303
303
  # The +method_missing+ doesn't take care of constant like methods (like String :name),
304
304
  # so those have to be defined explicitly for each such supported type.
305
- for type in Sequel::Schema::Generator::GENERIC_TYPES
305
+ for type in (defined?(Sequel::Schema::CreateTableGenerator) ? Sequel::Schema::CreateTableGenerator::GENERIC_TYPES : Sequel::Schema::Generator::GENERIC_TYPES)
306
306
  class_eval( "def #{type}(*args) ; @table.add_definition(:#{type},*args) ; end", __FILE__, __LINE__ )
307
307
  end
308
308
 
@@ -317,7 +317,7 @@ module Miguel
317
317
  # automatically updated, and let the create one to be set manually.
318
318
  # Also, Sequel doesn't currently honor :on_update for column definitions,
319
319
  # so we have to use default literal to make it work. Sigh.
320
- timestamp :create_time, :null => false, :default => ZERO_TIME
320
+ timestamp :create_time, :null => false, :default => ( opts[ :zero_timestamps ] == false ? DEFAULT_TIME : ZERO_TIME )
321
321
  timestamp :update_time, :null => false, :default => Sequel.lit( 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP' )
322
322
  else
323
323
  Time :create_time
@@ -371,9 +371,9 @@ module Miguel
371
371
  end
372
372
 
373
373
  # Add foreign key definition.
374
- def add_foreign_key( columns, table_name, *args )
375
- add_column( :integer, columns, *args ) unless columns.is_a? Array
376
- @foreign_keys << ForeignKey.new( columns, table_name, *args )
374
+ def add_foreign_key( columns, table_name, opts = {} )
375
+ add_column( opts[:type] || :integer, columns, opts ) unless columns.is_a? Array
376
+ @foreign_keys << ForeignKey.new( columns, table_name, opts )
377
377
  end
378
378
 
379
379
  # Add definition of column, index or foreign key.
@@ -580,7 +580,7 @@ module Miguel
580
580
  # we have to be careful to turn off the MySQL autoupdate behavior.
581
581
  # That's why we have to set defaults explicitly.
582
582
 
583
- default_time = opts[ :mysql_timestamps ] ? ZERO_TIME : DEFAULT_TIME
583
+ default_time = ( opts[ :zero_timestamps ] || ( opts[ :mysql_timestamps ] && opts[ :zero_timestamps ].nil? ) ) ? ZERO_TIME : DEFAULT_TIME
584
584
  set_defaults :Time, :timestamp, :default => default_time
585
585
  set_defaults :Time?, :timestamp, :default => nil
586
586
 
@@ -2,7 +2,7 @@
2
2
 
3
3
  module Miguel
4
4
  MAJOR = 0
5
- MINOR = 1
5
+ MINOR = 2
6
6
  PATCH = 0
7
7
  VERSION = [ MAJOR, MINOR, PATCH ].join( '.' ).freeze
8
8
  end
data/miguel.gemspec CHANGED
@@ -4,7 +4,7 @@ require File.expand_path( '../lib/miguel/version', __FILE__ )
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'miguel'
7
- s.version = Miguel::VERSION + '.pre7'
7
+ s.version = Miguel::VERSION
8
8
  s.summary = 'Database migrator and migration generator for Sequel.'
9
9
  s.description = <<EOT
10
10
  This gem makes it easy to create and maintain an up-to-date database schema
@@ -21,7 +21,9 @@ EOT
21
21
 
22
22
  s.required_ruby_version = '>= 1.9.3'
23
23
  s.add_runtime_dependency 'sequel', '~> 4.27'
24
+ s.add_development_dependency 'rake', '~> 13.0'
24
25
  s.add_development_dependency 'bacon', '~> 1.2'
26
+ s.add_development_dependency 'simplecov', '~> 0.21'
25
27
  s.add_development_dependency 'sqlite3'
26
28
  s.add_development_dependency 'mysql2'
27
29
  s.add_development_dependency 'pg'
data/test/data/schema.rb CHANGED
@@ -76,6 +76,11 @@ Miguel::Schema.define( use_defaults: false ) do
76
76
  index :user_id
77
77
  end
78
78
 
79
+ table :bigint do
80
+ primary_key :id, type: :bigint
81
+ foreign_key :bigint_id, :bigint, type: :bigint
82
+ end if mysql
83
+
79
84
  table :reuse do
80
85
  primary_key :user_id
81
86
  foreign_key [:user_id], :users
data/test/helper.rb CHANGED
@@ -6,18 +6,19 @@ def jruby?
6
6
  defined?( RUBY_ENGINE ) and RUBY_ENGINE == 'jruby'
7
7
  end
8
8
 
9
- if ENV[ 'COVERAGE' ]
10
- require 'simplecov'
11
- SimpleCov.start
12
- end
13
-
14
9
  begin
15
10
  require 'codeclimate-test-reporter'
16
- CodeClimate::TestReporter.start
17
11
  ENV[ 'COVERAGE' ] = 'on'
18
12
  rescue LoadError
19
13
  end unless jruby?
20
14
 
15
+ if ENV[ 'COVERAGE' ]
16
+ require 'simplecov'
17
+ SimpleCov.start do
18
+ add_filter 'bundler'
19
+ end
20
+ end
21
+
21
22
  # Setup helpers.
22
23
 
23
24
  DATA_DIR = File.expand_path( "#{__FILE__}/../data" )
@@ -35,7 +36,7 @@ class Bacon::Context
35
36
  end
36
37
 
37
38
  def lines( s )
38
- s.to_s.lines.map.with_index{ |l, i| "#{i}:#{l.strip}" }
39
+ s.to_s.lines.map.with_index{ |l, i| "#{i}:#{l.strip}" } << :EOF
39
40
  end
40
41
 
41
42
  def match( a, b )
@@ -15,6 +15,10 @@ describe Miguel::Importer do
15
15
  {},
16
16
  { unsigned_keys: true },
17
17
  { mysql_timestamps: true },
18
+ { mysql_timestamps: true, zero_timestamps: true },
19
+ { mysql_timestamps: true, zero_timestamps: false },
20
+ { zero_timestamps: true },
21
+ { zero_timestamps: false },
18
22
  ]
19
23
  when :postgres
20
24
  [ signed_unsigned: true ]
data/test/test_schema.rb CHANGED
@@ -229,6 +229,65 @@ describe Miguel::Schema do
229
229
  end
230
230
  end
231
231
 
232
+ should 'control zero timestamps explicitly' do
233
+ match_schema <<-EOT, zero_timestamps: false do
234
+ table :timestamps do
235
+ timestamp :t1, :null => false, :default => "2000-01-01 00:00:00"
236
+ timestamp :t2, :null => true, :default => nil
237
+ timestamp :create_time, :null => false, :default => "2000-01-01 00:00:00"
238
+ timestamp :update_time, :null => false, :default => "2000-01-01 00:00:00"
239
+ end
240
+ EOT
241
+ table :timestamps do
242
+ Time :t1
243
+ Time? :t2
244
+ timestamps
245
+ end
246
+ end
247
+ match_schema <<-EOT, zero_timestamps: true do
248
+ table :timestamps do
249
+ timestamp :t1, :null => false, :default => "0000-00-00 00:00:00"
250
+ timestamp :t2, :null => true, :default => nil
251
+ timestamp :create_time, :null => false, :default => "0000-00-00 00:00:00"
252
+ timestamp :update_time, :null => false, :default => "0000-00-00 00:00:00"
253
+ end
254
+ EOT
255
+ table :timestamps do
256
+ Time :t1
257
+ Time? :t2
258
+ timestamps
259
+ end
260
+ end
261
+ match_schema <<-EOT, mysql_timestamps: true, zero_timestamps: true do
262
+ table :timestamps do
263
+ timestamp :t1, :null => false, :default => "0000-00-00 00:00:00"
264
+ timestamp :t2, :null => true, :default => nil
265
+ timestamp :create_time, :null => false, :default => "0000-00-00 00:00:00"
266
+ timestamp :update_time, :null => false, :default => Sequel.lit("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
267
+ end
268
+ EOT
269
+ table :timestamps do
270
+ Time :t1
271
+ Time? :t2
272
+ timestamps
273
+ end
274
+ end
275
+ match_schema <<-EOT, mysql_timestamps: true, zero_timestamps: false do
276
+ table :timestamps do
277
+ timestamp :t1, :null => false, :default => "2000-01-01 00:00:00"
278
+ timestamp :t2, :null => true, :default => nil
279
+ timestamp :create_time, :null => false, :default => "2000-01-01 00:00:00"
280
+ timestamp :update_time, :null => false, :default => Sequel.lit("CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP")
281
+ end
282
+ EOT
283
+ table :timestamps do
284
+ Time :t1
285
+ Time? :t2
286
+ timestamps
287
+ end
288
+ end
289
+ end
290
+
232
291
  should 'support auto-incrementing primary keys' do
233
292
  match_schema <<-EOT do
234
293
  table :pk do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: miguel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre7
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrik Rak
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-06 00:00:00.000000000 Z
11
+ date: 2022-06-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sequel
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.27'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '13.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '13.0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bacon
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -38,6 +52,20 @@ dependencies:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
54
  version: '1.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: simplecov
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.21'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.21'
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: sqlite3
43
71
  requirement: !ruby/object:Gem::Requirement
@@ -92,6 +120,9 @@ files:
92
120
  - ".gitignore"
93
121
  - ".travis.gemfile"
94
122
  - ".travis.yml"
123
+ - ".yardopts"
124
+ - Gemfile
125
+ - LICENSE
95
126
  - README.md
96
127
  - Rakefile
97
128
  - bin/miguel
@@ -144,12 +175,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
144
175
  version: 1.9.3
145
176
  required_rubygems_version: !ruby/object:Gem::Requirement
146
177
  requirements:
147
- - - ">"
178
+ - - ">="
148
179
  - !ruby/object:Gem::Version
149
- version: 1.3.1
180
+ version: '0'
150
181
  requirements: []
151
- rubyforge_project:
152
- rubygems_version: 2.4.5.1
182
+ rubygems_version: 3.0.3.1
153
183
  signing_key:
154
184
  specification_version: 4
155
185
  summary: Database migrator and migration generator for Sequel.