activerecord 5.1.3.rc1 → 5.1.3.rc2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of activerecord might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2235bab758b26132975903eb55a7f74d34019f9e
4
- data.tar.gz: 5da80bcac453255f9d1da49f4a32722edd894d7d
3
+ metadata.gz: 3f54b991c2ccce6dde330df92c2c86f876b2f6ca
4
+ data.tar.gz: f1156fd0643e7553f37f7da7ff251efb2b60ebca
5
5
  SHA512:
6
- metadata.gz: aec867ebce19311b4f1617064d94057bcf78e0de5383c43b2ccaf4a733bc9c776ef4aa73b1353662fa87eb76a7a1db49ac1367cfe639a3b3b46560c0da648715
7
- data.tar.gz: 9fcebfae2cb8040cb7f4930f85ea11ce86d24716caba8c665ec35ca57acd7eb4690c6f03a28af23a7d0b37f44747db37d692b316efd13b8654dfe95560bdb71b
6
+ metadata.gz: b82a23631c24884976a1ab9afb5a2fdd092c34c7c04d1038a23216b2b696c2241597ee707e4f2f3681f8556b170a0926965af585d6f9d1a6263794c70e25ee15
7
+ data.tar.gz: de3171ca3b3d3d8e99b32c19a4b31abd9a2a658423454f5124721f6e41d4de9ae0531e486903a72912ac5e8309195d8fb5ceef94da913ae97a5aaae5c7fa4174
@@ -1,3 +1,8 @@
1
+ ## Rails 5.1.3.rc2 (July 25, 2017) ##
2
+
3
+ * No changes.
4
+
5
+
1
6
  ## Rails 5.1.3.rc1 (July 19, 2017) ##
2
7
 
3
8
  * `Relation#joins` is no longer affected by the target model's
@@ -51,9 +51,7 @@ module ActiveRecord
51
51
 
52
52
  # Returns a single value from a record
53
53
  def select_value(arel, name = nil, binds = [])
54
- if result = select_rows(arel, name, binds).first
55
- result.first
56
- end
54
+ single_value_from_rows(select_rows(arel, name, binds))
57
55
  end
58
56
 
59
57
  # Returns an array of the values of the first column in a select:
@@ -68,6 +66,18 @@ module ActiveRecord
68
66
  select_all(arel, name, binds).rows
69
67
  end
70
68
 
69
+ def query_value(sql, name = nil) # :nodoc:
70
+ single_value_from_rows(query(sql, name))
71
+ end
72
+
73
+ def query_values(sql, name = nil) # :nodoc:
74
+ query(sql, name).map(&:first)
75
+ end
76
+
77
+ def query(sql, name = nil) # :nodoc:
78
+ exec_query(sql, name).rows
79
+ end
80
+
71
81
  # Executes the SQL statement in the context of this connection and returns
72
82
  # the raw result from the connection adapter.
73
83
  # Note: depending on your database connector, the result returned by this
@@ -370,7 +380,11 @@ module ActiveRecord
370
380
  end
371
381
 
372
382
  def last_inserted_id(result)
373
- row = result.rows.first
383
+ single_value_from_rows(result.rows)
384
+ end
385
+
386
+ def single_value_from_rows(rows)
387
+ row = rows.first
374
388
  row && row.first
375
389
  end
376
390
 
@@ -31,7 +31,7 @@ module ActiveRecord
31
31
  # Returns the relation names useable to back Active Record models.
32
32
  # For most adapters this means all #tables and #views.
33
33
  def data_sources
34
- select_values(data_source_sql, "SCHEMA")
34
+ query_values(data_source_sql, "SCHEMA")
35
35
  rescue NotImplementedError
36
36
  tables | views
37
37
  end
@@ -41,14 +41,14 @@ module ActiveRecord
41
41
  # data_source_exists?(:ebooks)
42
42
  #
43
43
  def data_source_exists?(name)
44
- select_values(data_source_sql(name), "SCHEMA").any? if name.present?
44
+ query_values(data_source_sql(name), "SCHEMA").any? if name.present?
45
45
  rescue NotImplementedError
46
46
  data_sources.include?(name.to_s)
47
47
  end
48
48
 
49
49
  # Returns an array of table names defined in the database.
50
50
  def tables
51
- select_values(data_source_sql(type: "BASE TABLE"), "SCHEMA")
51
+ query_values(data_source_sql(type: "BASE TABLE"), "SCHEMA")
52
52
  end
53
53
 
54
54
  # Checks to see if the table +table_name+ exists on the database.
@@ -56,14 +56,14 @@ module ActiveRecord
56
56
  # table_exists?(:developers)
57
57
  #
58
58
  def table_exists?(table_name)
59
- select_values(data_source_sql(table_name, type: "BASE TABLE"), "SCHEMA").any? if table_name.present?
59
+ query_values(data_source_sql(table_name, type: "BASE TABLE"), "SCHEMA").any? if table_name.present?
60
60
  rescue NotImplementedError
61
61
  tables.include?(table_name.to_s)
62
62
  end
63
63
 
64
64
  # Returns an array of view names defined in the database.
65
65
  def views
66
- select_values(data_source_sql(type: "VIEW"), "SCHEMA")
66
+ query_values(data_source_sql(type: "VIEW"), "SCHEMA")
67
67
  end
68
68
 
69
69
  # Checks to see if the view +view_name+ exists on the database.
@@ -71,7 +71,7 @@ module ActiveRecord
71
71
  # view_exists?(:ebooks)
72
72
  #
73
73
  def view_exists?(view_name)
74
- select_values(data_source_sql(view_name, type: "VIEW"), "SCHEMA").any? if view_name.present?
74
+ query_values(data_source_sql(view_name, type: "VIEW"), "SCHEMA").any? if view_name.present?
75
75
  rescue NotImplementedError
76
76
  views.include?(view_name.to_s)
77
77
  end
@@ -140,11 +140,11 @@ module ActiveRecord
140
140
  end
141
141
 
142
142
  def get_advisory_lock(lock_name, timeout = 0) # :nodoc:
143
- select_value("SELECT GET_LOCK(#{quote(lock_name)}, #{timeout})") == 1
143
+ query_value("SELECT GET_LOCK(#{quote(lock_name)}, #{timeout})") == 1
144
144
  end
145
145
 
146
146
  def release_advisory_lock(lock_name) # :nodoc:
147
- select_value("SELECT RELEASE_LOCK(#{quote(lock_name)})") == 1
147
+ query_value("SELECT RELEASE_LOCK(#{quote(lock_name)})") == 1
148
148
  end
149
149
 
150
150
  def native_database_types
@@ -176,7 +176,7 @@ module ActiveRecord
176
176
  # REFERENTIAL INTEGRITY ====================================
177
177
 
178
178
  def disable_referential_integrity #:nodoc:
179
- old = select_value("SELECT @@FOREIGN_KEY_CHECKS")
179
+ old = query_value("SELECT @@FOREIGN_KEY_CHECKS")
180
180
 
181
181
  begin
182
182
  update("SET FOREIGN_KEY_CHECKS = 0")
@@ -291,7 +291,7 @@ module ActiveRecord
291
291
  end
292
292
 
293
293
  def current_database
294
- select_value "SELECT DATABASE() as db"
294
+ query_value("SELECT database()", "SCHEMA")
295
295
  end
296
296
 
297
297
  # Returns the database character set.
@@ -351,7 +351,7 @@ module ActiveRecord
351
351
  def table_comment(table_name) # :nodoc:
352
352
  scope = quoted_scope(table_name)
353
353
 
354
- select_value(<<-SQL.strip_heredoc, "SCHEMA")
354
+ query_value(<<-SQL.strip_heredoc, "SCHEMA")
355
355
  SELECT table_comment
356
356
  FROM information_schema.tables
357
357
  WHERE table_schema = #{scope[:schema]}
@@ -457,7 +457,7 @@ module ActiveRecord
457
457
 
458
458
  scope = quoted_scope(table_name)
459
459
 
460
- fk_info = select_all(<<-SQL.strip_heredoc, "SCHEMA")
460
+ fk_info = exec_query(<<-SQL.strip_heredoc, "SCHEMA")
461
461
  SELECT fk.referenced_table_name AS 'to_table',
462
462
  fk.referenced_column_name AS 'primary_key',
463
463
  fk.column_name AS 'column',
@@ -534,7 +534,7 @@ module ActiveRecord
534
534
 
535
535
  # SHOW VARIABLES LIKE 'name'
536
536
  def show_variable(name)
537
- select_value("SELECT @@#{name}", "SCHEMA")
537
+ query_value("SELECT @@#{name}", "SCHEMA")
538
538
  rescue ActiveRecord::StatementInvalid
539
539
  nil
540
540
  end
@@ -544,7 +544,7 @@ module ActiveRecord
544
544
 
545
545
  scope = quoted_scope(table_name)
546
546
 
547
- select_values(<<-SQL.strip_heredoc, "SCHEMA")
547
+ query_values(<<-SQL.strip_heredoc, "SCHEMA")
548
548
  SELECT column_name
549
549
  FROM information_schema.key_column_usage
550
550
  WHERE constraint_name = 'PRIMARY'
@@ -745,7 +745,7 @@ module ActiveRecord
745
745
  auto_increment: column.auto_increment?
746
746
  }
747
747
 
748
- current_type = select_one("SHOW COLUMNS FROM #{quote_table_name(table_name)} LIKE '#{column_name}'", "SCHEMA")["Type"]
748
+ current_type = exec_query("SHOW COLUMNS FROM #{quote_table_name(table_name)} LIKE #{quote(column_name)}", "SCHEMA").first["Type"]
749
749
  td = create_table_definition(table_name)
750
750
  cd = td.new_column_definition(new_column_name, current_type, options)
751
751
  schema_creation.accept(ChangeColumnDefinition.new(cd, column.name))
@@ -864,7 +864,7 @@ module ActiveRecord
864
864
  end
865
865
 
866
866
  def create_table_info(table_name) # :nodoc:
867
- select_one("SHOW CREATE TABLE #{quote_table_name(table_name)}")["Create Table"]
867
+ exec_query("SHOW CREATE TABLE #{quote_table_name(table_name)}", "SCHEMA").first["Create Table"]
868
868
  end
869
869
 
870
870
  def create_table_definition(*args) # :nodoc:
@@ -13,6 +13,10 @@ module ActiveRecord
13
13
  result
14
14
  end
15
15
 
16
+ def query(sql, name = nil) # :nodoc:
17
+ execute(sql, name).to_a
18
+ end
19
+
16
20
  # Executes the SQL statement in the context of this connection.
17
21
  def execute(sql, name = nil)
18
22
  # make sure we carry over any changes to ActiveRecord::Base.default_timezone that have been
@@ -47,7 +47,7 @@ module ActiveRecord
47
47
  def schema_collation(column)
48
48
  if column.collation && table_name = column.table_name
49
49
  @table_collation_cache ||= {}
50
- @table_collation_cache[table_name] ||= select_one("SHOW TABLE STATUS LIKE '#{table_name}'")["Collation"]
50
+ @table_collation_cache[table_name] ||= exec_query("SHOW TABLE STATUS LIKE #{quote(table_name)}", "SCHEMA").first["Collation"]
51
51
  column.collation.inspect if column.collation != @table_collation_cache[table_name]
52
52
  end
53
53
  end
@@ -64,7 +64,7 @@ module ActiveRecord
64
64
  " WHERE table_schema = #{scope[:schema]}" \
65
65
  " AND table_name = #{scope[:name]}" \
66
66
  " AND column_name = #{quote(column.name)}"
67
- select_value(sql, "SCHEMA").inspect
67
+ query_value(sql, "SCHEMA").inspect
68
68
  end
69
69
  end
70
70
  end
@@ -77,6 +77,9 @@ module ActiveRecord
77
77
  end
78
78
 
79
79
  private
80
+ def lookup_cast_type(sql_type)
81
+ super(query_value("SELECT #{quote(sql_type)}::regtype::oid", "SCHEMA").to_i)
82
+ end
80
83
 
81
84
  def _quote(value)
82
85
  case value
@@ -60,7 +60,7 @@ module ActiveRecord
60
60
 
61
61
  # Returns true if schema exists.
62
62
  def schema_exists?(name)
63
- select_value("SELECT COUNT(*) FROM pg_namespace WHERE nspname = #{quote(name)}", "SCHEMA").to_i > 0
63
+ query_value("SELECT COUNT(*) FROM pg_namespace WHERE nspname = #{quote(name)}", "SCHEMA").to_i > 0
64
64
  end
65
65
 
66
66
  # Verifies existence of an index with a given name.
@@ -73,7 +73,7 @@ module ActiveRecord
73
73
  table = quoted_scope(table_name)
74
74
  index = quoted_scope(index_name)
75
75
 
76
- select_value(<<-SQL, "SCHEMA").to_i > 0
76
+ query_value(<<-SQL, "SCHEMA").to_i > 0
77
77
  SELECT COUNT(*)
78
78
  FROM pg_class t
79
79
  INNER JOIN pg_index d ON t.oid = d.indrelid
@@ -173,7 +173,7 @@ module ActiveRecord
173
173
  def table_comment(table_name) # :nodoc:
174
174
  scope = quoted_scope(table_name, type: "BASE TABLE")
175
175
  if scope[:name]
176
- select_value(<<-SQL.strip_heredoc, "SCHEMA")
176
+ query_value(<<-SQL.strip_heredoc, "SCHEMA")
177
177
  SELECT pg_catalog.obj_description(c.oid, 'pg_class')
178
178
  FROM pg_catalog.pg_class c
179
179
  LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
@@ -186,32 +186,32 @@ module ActiveRecord
186
186
 
187
187
  # Returns the current database name.
188
188
  def current_database
189
- select_value("SELECT current_database()", "SCHEMA")
189
+ query_value("SELECT current_database()", "SCHEMA")
190
190
  end
191
191
 
192
192
  # Returns the current schema name.
193
193
  def current_schema
194
- select_value("SELECT current_schema", "SCHEMA")
194
+ query_value("SELECT current_schema", "SCHEMA")
195
195
  end
196
196
 
197
197
  # Returns the current database encoding format.
198
198
  def encoding
199
- select_value("SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname LIKE '#{current_database}'", "SCHEMA")
199
+ query_value("SELECT pg_encoding_to_char(encoding) FROM pg_database WHERE datname = current_database()", "SCHEMA")
200
200
  end
201
201
 
202
202
  # Returns the current database collation.
203
203
  def collation
204
- select_value("SELECT datcollate FROM pg_database WHERE datname LIKE '#{current_database}'", "SCHEMA")
204
+ query_value("SELECT datcollate FROM pg_database WHERE datname = current_database()", "SCHEMA")
205
205
  end
206
206
 
207
207
  # Returns the current database ctype.
208
208
  def ctype
209
- select_value("SELECT datctype FROM pg_database WHERE datname LIKE '#{current_database}'", "SCHEMA")
209
+ query_value("SELECT datctype FROM pg_database WHERE datname = current_database()", "SCHEMA")
210
210
  end
211
211
 
212
212
  # Returns an array of schema names.
213
213
  def schema_names
214
- select_values(<<-SQL, "SCHEMA")
214
+ query_values(<<-SQL, "SCHEMA")
215
215
  SELECT nspname
216
216
  FROM pg_namespace
217
217
  WHERE nspname !~ '^pg_.*'
@@ -244,12 +244,12 @@ module ActiveRecord
244
244
 
245
245
  # Returns the active schema search path.
246
246
  def schema_search_path
247
- @schema_search_path ||= select_value("SHOW search_path", "SCHEMA")
247
+ @schema_search_path ||= query_value("SHOW search_path", "SCHEMA")
248
248
  end
249
249
 
250
250
  # Returns the current client message level.
251
251
  def client_min_messages
252
- select_value("SHOW client_min_messages", "SCHEMA")
252
+ query_value("SHOW client_min_messages", "SCHEMA")
253
253
  end
254
254
 
255
255
  # Set the client message level.
@@ -267,7 +267,7 @@ module ActiveRecord
267
267
  end
268
268
 
269
269
  def serial_sequence(table, column)
270
- select_value("SELECT pg_get_serial_sequence('#{table}', '#{column}')", "SCHEMA")
270
+ query_value("SELECT pg_get_serial_sequence(#{quote(table)}, #{quote(column)})", "SCHEMA")
271
271
  end
272
272
 
273
273
  # Sets the sequence of a table's primary key to the specified value.
@@ -278,7 +278,7 @@ module ActiveRecord
278
278
  if sequence
279
279
  quoted_sequence = quote_table_name(sequence)
280
280
 
281
- select_value("SELECT setval('#{quoted_sequence}', #{value})", "SCHEMA")
281
+ query_value("SELECT setval(#{quote(quoted_sequence)}, #{value})", "SCHEMA")
282
282
  else
283
283
  @logger.warn "#{table} has primary key #{pk} with no default sequence." if @logger
284
284
  end
@@ -300,18 +300,16 @@ module ActiveRecord
300
300
 
301
301
  if pk && sequence
302
302
  quoted_sequence = quote_table_name(sequence)
303
- max_pk = select_value("select MAX(#{quote_column_name pk}) from #{quote_table_name(table)}")
303
+ max_pk = query_value("SELECT MAX(#{quote_column_name pk}) FROM #{quote_table_name(table)}", "SCHEMA")
304
304
  if max_pk.nil?
305
305
  if postgresql_version >= 100000
306
- minvalue = select_value("SELECT seqmin from pg_sequence where seqrelid = '#{quoted_sequence}'::regclass")
306
+ minvalue = query_value("SELECT seqmin FROM pg_sequence WHERE seqrelid = #{quote(quoted_sequence)}::regclass", "SCHEMA")
307
307
  else
308
- minvalue = select_value("SELECT min_value FROM #{quoted_sequence}")
308
+ minvalue = query_value("SELECT min_value FROM #{quoted_sequence}", "SCHEMA")
309
309
  end
310
310
  end
311
311
 
312
- select_value(<<-end_sql, "SCHEMA")
313
- SELECT setval('#{quoted_sequence}', #{max_pk ? max_pk : minvalue}, #{max_pk ? true : false})
314
- end_sql
312
+ query_value("SELECT setval(#{quote(quoted_sequence)}, #{max_pk ? max_pk : minvalue}, #{max_pk ? true : false})", "SCHEMA")
315
313
  end
316
314
  end
317
315
 
@@ -370,7 +368,7 @@ module ActiveRecord
370
368
  end
371
369
 
372
370
  def primary_keys(table_name) # :nodoc:
373
- select_values(<<-SQL.strip_heredoc, "SCHEMA")
371
+ query_values(<<-SQL.strip_heredoc, "SCHEMA")
374
372
  SELECT a.attname
375
373
  FROM (
376
374
  SELECT indrelid, indkey, generate_subscripts(indkey, 1) idx
@@ -520,7 +518,7 @@ module ActiveRecord
520
518
 
521
519
  def foreign_keys(table_name)
522
520
  scope = quoted_scope(table_name)
523
- fk_info = select_all(<<-SQL.strip_heredoc, "SCHEMA")
521
+ fk_info = exec_query(<<-SQL.strip_heredoc, "SCHEMA")
524
522
  SELECT t2.oid::regclass::text AS to_table, a1.attname AS column, a2.attname AS primary_key, c.conname AS name, c.confupdtype AS on_update, c.confdeltype AS on_delete
525
523
  FROM pg_constraint c
526
524
  JOIN pg_class t1 ON c.conrelid = t1.oid
@@ -326,14 +326,14 @@ module ActiveRecord
326
326
  unless lock_id.is_a?(Integer) && lock_id.bit_length <= 63
327
327
  raise(ArgumentError, "Postgres requires advisory lock ids to be a signed 64 bit integer")
328
328
  end
329
- select_value("SELECT pg_try_advisory_lock(#{lock_id});")
329
+ query_value("SELECT pg_try_advisory_lock(#{lock_id})")
330
330
  end
331
331
 
332
332
  def release_advisory_lock(lock_id) # :nodoc:
333
333
  unless lock_id.is_a?(Integer) && lock_id.bit_length <= 63
334
334
  raise(ArgumentError, "Postgres requires advisory lock ids to be a signed 64 bit integer")
335
335
  end
336
- select_value("SELECT pg_advisory_unlock(#{lock_id})")
336
+ query_value("SELECT pg_advisory_unlock(#{lock_id})")
337
337
  end
338
338
 
339
339
  def enable_extension(name)
@@ -350,15 +350,14 @@ module ActiveRecord
350
350
 
351
351
  def extension_enabled?(name)
352
352
  if supports_extensions?
353
- res = exec_query "SELECT EXISTS(SELECT * FROM pg_available_extensions WHERE name = '#{name}' AND installed_version IS NOT NULL) as enabled",
354
- "SCHEMA"
353
+ res = exec_query("SELECT EXISTS(SELECT * FROM pg_available_extensions WHERE name = '#{name}' AND installed_version IS NOT NULL) as enabled", "SCHEMA")
355
354
  res.cast_values.first
356
355
  end
357
356
  end
358
357
 
359
358
  def extensions
360
359
  if supports_extensions?
361
- exec_query("SELECT extname from pg_extension", "SCHEMA").cast_values
360
+ exec_query("SELECT extname FROM pg_extension", "SCHEMA").cast_values
362
361
  else
363
362
  super
364
363
  end
@@ -366,14 +365,14 @@ module ActiveRecord
366
365
 
367
366
  # Returns the configured supported identifier length supported by PostgreSQL
368
367
  def table_alias_length
369
- @max_identifier_length ||= select_value("SHOW max_identifier_length", "SCHEMA").to_i
368
+ @max_identifier_length ||= query_value("SHOW max_identifier_length", "SCHEMA").to_i
370
369
  end
371
370
  alias index_name_length table_alias_length
372
371
 
373
372
  # Set the authorized user for this session
374
373
  def session_auth=(user)
375
374
  clear_cache!
376
- exec_query "SET SESSION AUTHORIZATION #{user}"
375
+ execute("SET SESSION AUTHORIZATION #{user}")
377
376
  end
378
377
 
379
378
  def use_insert_returning?
@@ -384,11 +383,6 @@ module ActiveRecord
384
383
  PostgreSQL::Table.new(table_name, base)
385
384
  end
386
385
 
387
- def lookup_cast_type(sql_type) # :nodoc:
388
- oid = execute("SELECT #{quote(sql_type)}::regtype::oid", "SCHEMA").first["oid"].to_i
389
- super(oid)
390
- end
391
-
392
386
  def column_name_for_operation(operation, node) # :nodoc:
393
387
  OPERATION_ALIASES.fetch(operation) { operation.downcase }
394
388
  end
@@ -183,7 +183,7 @@ module ActiveRecord
183
183
  # REFERENTIAL INTEGRITY ====================================
184
184
 
185
185
  def disable_referential_integrity # :nodoc:
186
- old = select_value("PRAGMA foreign_keys")
186
+ old = query_value("PRAGMA foreign_keys")
187
187
 
188
188
  begin
189
189
  execute("PRAGMA foreign_keys = OFF")
@@ -398,7 +398,7 @@ module ActiveRecord
398
398
  alias :add_belongs_to :add_reference
399
399
 
400
400
  def foreign_keys(table_name)
401
- fk_info = select_all("PRAGMA foreign_key_list(#{quote(table_name)})", "SCHEMA")
401
+ fk_info = exec_query("PRAGMA foreign_key_list(#{quote(table_name)})", "SCHEMA")
402
402
  fk_info.map do |row|
403
403
  options = {
404
404
  column: row["from"],
@@ -498,7 +498,7 @@ module ActiveRecord
498
498
  end
499
499
 
500
500
  def sqlite_version
501
- @sqlite_version ||= SQLite3Adapter::Version.new(select_value("SELECT sqlite_version(*)"))
501
+ @sqlite_version ||= SQLite3Adapter::Version.new(query_value("SELECT sqlite_version(*)"))
502
502
  end
503
503
 
504
504
  def translate_exception(exception, message)
@@ -8,7 +8,7 @@ module ActiveRecord
8
8
  MAJOR = 5
9
9
  MINOR = 1
10
10
  TINY = 3
11
- PRE = "rc1"
11
+ PRE = "rc2"
12
12
 
13
13
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
14
14
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.3.rc1
4
+ version: 5.1.3.rc2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-19 00:00:00.000000000 Z
11
+ date: 2017-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 5.1.3.rc1
19
+ version: 5.1.3.rc2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 5.1.3.rc1
26
+ version: 5.1.3.rc2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: activemodel
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 5.1.3.rc1
33
+ version: 5.1.3.rc2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 5.1.3.rc1
40
+ version: 5.1.3.rc2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: arel
43
43
  requirement: !ruby/object:Gem::Requirement