Skip to content

Commit 747019a

Browse files
committed
Rubocop: Enable Style/StringLiterals cop
1 parent e11ec71 commit 747019a

File tree

92 files changed

+1338
-1327
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+1338
-1327
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ debug.log
33
.DS_Store
44
pkg/
55
doc/
6+
db/
67
*.gem
78
.bundle
89
Gemfile.lock

.rubocop.yml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
AllCops:
2+
TargetRubyVersion: 2.5
3+
4+
Style/StringLiterals:
5+
EnforcedStyle: double_quotes

Gemfile

+4
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,7 @@ group :guard do
6161
gem "guard-minitest"
6262
gem "terminal-notifier-guard" if RbConfig::CONFIG["host_os"] =~ /darwin/
6363
end
64+
65+
group :rubocop do
66+
gem "rubocop", require: false
67+
end

Guardfile

+9-8
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,30 @@
1+
# frozen_string_literal: true
12

2-
require_relative 'test/support/paths_sqlserver'
3+
require_relative "test/support/paths_sqlserver"
34

45
clearing :on
56
notification :terminal_notifier if defined?(TerminalNotifier)
67
ignore %r{debug\.log}
78

8-
ar_lib = File.join ARTest::SQLServer.root_activerecord, 'lib'
9-
ar_test = File.join ARTest::SQLServer.root_activerecord, 'test'
9+
ar_lib = File.join ARTest::SQLServer.root_activerecord, "lib"
10+
ar_test = File.join ARTest::SQLServer.root_activerecord, "test"
1011

1112
guard :minitest, {
1213
all_on_start: false,
1314
autorun: false,
14-
include: ['lib', 'test', ar_lib, ar_test],
15-
test_folders: ['test'],
15+
include: ["lib", "test", ar_lib, ar_test],
16+
test_folders: ["test"],
1617
test_file_patterns: ["*_test.rb", "*_test_sqlserver.rb"]
1718
} do
1819
# Our project watchers.
19-
if ENV['TEST_FILES']
20-
ENV['TEST_FILES'].split(',').map(&:strip).each do |file|
20+
if ENV["TEST_FILES"]
21+
ENV["TEST_FILES"].split(",").map(&:strip).each do |file|
2122
watch(%r{.*}) { file }
2223
end
2324
else
2425
watch(%r{^test/cases/\w+_test_sqlserver\.rb$})
2526
watch(%r{^test/cases/coerced_tests\.rb$}) { "test/cases/coerced_tests.rb" }
2627
watch(%r{^lib/active_record/connection_adapters/sqlserver/([^/]+)\.rb$}) { |m| "test/cases/#{m[1]}_test_sqlserver.rb" }
27-
watch(%r{^test/cases/helper_sqlserver\.rb$}) { 'test' }
28+
watch(%r{^test/cases/helper_sqlserver\.rb$}) { "test" }
2829
end
2930
end

Rakefile

+12-12
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
# frozen_string_literal: true
22

3-
require 'bundler/gem_tasks'
4-
require 'rake/testtask'
5-
require_relative 'test/support/paths_sqlserver'
6-
require_relative 'test/support/rake_helpers'
3+
require "bundler/gem_tasks"
4+
require "rake/testtask"
5+
require_relative "test/support/paths_sqlserver"
6+
require_relative "test/support/rake_helpers"
77

8-
task test: ['test:dblib']
8+
task test: ["test:dblib"]
99
task default: [:test]
1010

1111
namespace :test do
@@ -15,25 +15,25 @@ namespace :test do
1515
Rake::TestTask.new(mode) do |t|
1616
t.libs = ARTest::SQLServer.test_load_paths
1717
t.test_files = test_files
18-
t.warning = !!ENV['WARNING']
18+
t.warning = !!ENV["WARNING"]
1919
t.verbose = false
2020
end
2121

2222
end
2323

24-
task 'dblib:env' do
25-
ENV['ARCONN'] = 'dblib'
24+
task "dblib:env" do
25+
ENV["ARCONN"] = "dblib"
2626
end
2727

2828
end
2929

30-
task 'test:dblib' => 'test:dblib:env'
30+
task "test:dblib" => "test:dblib:env"
3131

3232
namespace :profile do
33-
['dblib'].each do |mode|
33+
["dblib"].each do |mode|
3434
namespace mode.to_sym do
35-
Dir.glob('test/profile/*_profile_case.rb').sort.each do |test_file|
36-
profile_case = File.basename(test_file).sub('_profile_case.rb', '')
35+
Dir.glob("test/profile/*_profile_case.rb").sort.each do |test_file|
36+
profile_case = File.basename(test_file).sub("_profile_case.rb", "")
3737
Rake::TestTask.new(profile_case) do |t|
3838
t.libs = ARTest::SQLServer.test_load_paths
3939
t.test_files = [test_file]

lib/active_record/connection_adapters/sqlserver/core_ext/attribute_methods.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# frozen_string_literal: true
22

3-
require 'active_record/attribute_methods'
3+
require "active_record/attribute_methods"
44

55
module ActiveRecord
66
module ConnectionAdapters

lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

3-
require 'active_record/relation'
4-
require 'active_record/version'
3+
require "active_record/relation"
4+
require "active_record/version"
55

66
module ActiveRecord
77
module ConnectionAdapters

lib/active_record/connection_adapters/sqlserver/core_ext/explain.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ module SQLServer
66
module CoreExt
77
module Explain
88

9-
SQLSERVER_STATEMENT_PREFIX = 'EXEC sp_executesql '
9+
SQLSERVER_STATEMENT_PREFIX = "EXEC sp_executesql "
1010
SQLSERVER_STATEMENT_REGEXP = /N'(.+)', N'(.+)', (.+)/
1111

1212
def exec_explain(queries)

lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

3-
require 'active_record/relation'
4-
require 'active_record/version'
3+
require "active_record/relation"
4+
require "active_record/version"
55

66
module ActiveRecord
77
module ConnectionAdapters

lib/active_record/connection_adapters/sqlserver/core_ext/query_methods.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# frozen_string_literal: true
22

3-
require 'active_record/relation'
4-
require 'active_record/version'
3+
require "active_record/relation"
4+
require "active_record/version"
55

66
module ActiveRecord
77
module ConnectionAdapters

lib/active_record/connection_adapters/sqlserver/database_statements.rb

+28-28
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def execute(sql, name = nil)
2525
end
2626
end
2727

28-
def exec_query(sql, name = 'SQL', binds = [], prepare: false)
28+
def exec_query(sql, name = "SQL", binds = [], prepare: false)
2929
if preventing_writes? && write_query?(sql)
3030
raise ActiveRecord::ReadOnlyError, "Write query attempted while in readonly mode: #{sql}"
3131
end
@@ -44,17 +44,17 @@ def exec_insert(sql, name = nil, binds = [], pk = nil, _sequence_name = nil)
4444
end
4545

4646
def exec_delete(sql, name, binds)
47-
sql = sql.dup << '; SELECT @@ROWCOUNT AS AffectedRows'
47+
sql = sql.dup << "; SELECT @@ROWCOUNT AS AffectedRows"
4848
super(sql, name, binds).rows.first.first
4949
end
5050

5151
def exec_update(sql, name, binds)
52-
sql = sql.dup << '; SELECT @@ROWCOUNT AS AffectedRows'
52+
sql = sql.dup << "; SELECT @@ROWCOUNT AS AffectedRows"
5353
super(sql, name, binds).rows.first.first
5454
end
5555

5656
def begin_db_transaction
57-
do_execute 'BEGIN TRANSACTION'
57+
do_execute "BEGIN TRANSACTION"
5858
end
5959

6060
def transaction_isolation_levels
@@ -71,11 +71,11 @@ def set_transaction_isolation_level(isolation_level)
7171
end
7272

7373
def commit_db_transaction
74-
do_execute 'COMMIT TRANSACTION'
74+
do_execute "COMMIT TRANSACTION"
7575
end
7676

7777
def exec_rollback_db_transaction
78-
do_execute 'IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION'
78+
do_execute "IF @@TRANCOUNT > 0 ROLLBACK TRANSACTION"
7979
end
8080

8181
include Savepoints
@@ -159,9 +159,9 @@ def execute_procedure(proc_name, *variables)
159159
variables.first.map { |k, v| "@#{k} = #{quote(v)}" }
160160
else
161161
variables.map { |v| quote(v) }
162-
end.join(', ')
162+
end.join(", ")
163163
sql = "EXEC #{proc_name} #{vars}".strip
164-
name = 'Execute Procedure'
164+
name = "Execute Procedure"
165165
log(sql, name) do
166166
case @connection_options[:mode]
167167
when :dblib
@@ -192,14 +192,14 @@ def use_database(database = nil)
192192

193193
def user_options
194194
return {} if sqlserver_azure?
195-
rows = select_rows('DBCC USEROPTIONS WITH NO_INFOMSGS', 'SCHEMA')
195+
rows = select_rows("DBCC USEROPTIONS WITH NO_INFOMSGS", "SCHEMA")
196196
rows = rows.first if rows.size == 2 && rows.last.empty?
197197
rows.reduce(HashWithIndifferentAccess.new) do |values, row|
198198
if row.instance_of? Hash
199-
set_option = row.values[0].gsub(/\s+/, '_')
199+
set_option = row.values[0].gsub(/\s+/, "_")
200200
user_value = row.values[1]
201201
elsif row.instance_of? Array
202-
set_option = row[0].gsub(/\s+/, '_')
202+
set_option = row[0].gsub(/\s+/, "_")
203203
user_value = row[1]
204204
end
205205
values[set_option] = user_value
@@ -209,9 +209,9 @@ def user_options
209209

210210
def user_options_dateformat
211211
if sqlserver_azure?
212-
select_value 'SELECT [dateformat] FROM [sys].[syslanguages] WHERE [langid] = @@LANGID', 'SCHEMA'
212+
select_value "SELECT [dateformat] FROM [sys].[syslanguages] WHERE [langid] = @@LANGID", "SCHEMA"
213213
else
214-
user_options['dateformat']
214+
user_options["dateformat"]
215215
end
216216
end
217217

@@ -226,26 +226,26 @@ def user_options_isolation_level
226226
WHEN 5 THEN 'SNAPSHOT' END AS [isolation_level]
227227
FROM [sys].[dm_exec_sessions]
228228
WHERE [session_id] = @@SPID).squish
229-
select_value sql, 'SCHEMA'
229+
select_value sql, "SCHEMA"
230230
else
231-
user_options['isolation_level']
231+
user_options["isolation_level"]
232232
end
233233
end
234234

235235
def user_options_language
236236
if sqlserver_azure?
237-
select_value 'SELECT @@LANGUAGE AS [language]', 'SCHEMA'
237+
select_value "SELECT @@LANGUAGE AS [language]", "SCHEMA"
238238
else
239-
user_options['language']
239+
user_options["language"]
240240
end
241241
end
242242

243243
def newid_function
244-
select_value 'SELECT NEWID()'
244+
select_value "SELECT NEWID()"
245245
end
246246

247247
def newsequentialid_function
248-
select_value 'SELECT NEWSEQUENTIALID()'
248+
select_value "SELECT NEWSEQUENTIALID()"
249249
end
250250

251251

@@ -263,7 +263,7 @@ def sql_for_insert(sql, pk, binds)
263263
exclude_output_inserted = exclude_output_inserted_table_name?(table_name, sql)
264264

265265
if exclude_output_inserted
266-
id_sql_type = exclude_output_inserted.is_a?(TrueClass) ? 'bigint' : exclude_output_inserted
266+
id_sql_type = exclude_output_inserted.is_a?(TrueClass) ? "bigint" : exclude_output_inserted
267267
<<~SQL.squish
268268
DECLARE @ssaIdInsertTable table (#{quoted_pk} #{id_sql_type});
269269
#{sql.dup.insert sql.index(/ (DEFAULT )?VALUES/), " OUTPUT INSERTED.#{quoted_pk} INTO @ssaIdInsertTable"}
@@ -288,7 +288,7 @@ def set_identity_insert(table_name, enable = true)
288288

289289
# === SQLServer Specific (Executing) ============================ #
290290

291-
def do_execute(sql, name = 'SQL')
291+
def do_execute(sql, name = "SQL")
292292
materialize_transactions
293293

294294
log(sql, name) { raw_connection_do(sql) }
@@ -318,9 +318,9 @@ def sp_executesql_sql_type(attr)
318318
return attr.type.sqlserver_type if attr.type.respond_to?(:sqlserver_type)
319319
case value = attr.value_for_database
320320
when Numeric
321-
value > 2_147_483_647 ? 'bigint'.freeze : 'int'.freeze
321+
value > 2_147_483_647 ? "bigint".freeze : "int".freeze
322322
else
323-
'nvarchar(max)'.freeze
323+
"nvarchar(max)".freeze
324324
end
325325
end
326326

@@ -335,14 +335,14 @@ def sp_executesql_sql_param(attr)
335335
end
336336

337337
def sp_executesql_sql(sql, types, params, name)
338-
if name == 'EXPLAIN'
338+
if name == "EXPLAIN"
339339
params.each.with_index do |param, index|
340340
substitute_at_finder = /(@#{index})(?=(?:[^']|'[^']*')*$)/ # Finds unquoted @n values.
341341
sql = sql.sub substitute_at_finder, param.to_s
342342
end
343343
else
344-
types = quote(types.join(', '))
345-
params = params.map.with_index{ |p, i| "@#{i} = #{p}" }.join(', ') # Only p is needed, but with @i helps explain regexp.
344+
types = quote(types.join(", "))
345+
params = params.map.with_index{ |p, i| "@#{i} = #{p}" }.join(", ") # Only p is needed, but with @i helps explain regexp.
346346
sql = "EXEC sp_executesql #{quote(sql)}"
347347
sql += ", #{types}, #{params}" unless params.empty?
348348
end
@@ -357,7 +357,7 @@ def raw_connection_do(sql)
357357
# TinyTDS returns false instead of raising an exception if connection fails.
358358
# Getting around this by raising an exception ourselves while this PR
359359
# https://github.com/rails-sqlserver/tiny_tds/pull/469 is not released.
360-
raise TinyTds::Error, 'failed to execute statement' if result.is_a?(FalseClass)
360+
raise TinyTds::Error, "failed to execute statement" if result.is_a?(FalseClass)
361361

362362
result.do
363363
end
@@ -407,7 +407,7 @@ def identity_columns(table_name)
407407

408408
# === SQLServer Specific (Selecting) ============================ #
409409

410-
def raw_select(sql, name = 'SQL', binds = [], options = {})
410+
def raw_select(sql, name = "SQL", binds = [], options = {})
411411
log(sql, name, binds) { _raw_select(sql, options) }
412412
end
413413

lib/active_record/connection_adapters/sqlserver/database_tasks.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def drop_database(database)
1919
end
2020

2121
def current_database
22-
select_value 'SELECT DB_NAME()'
22+
select_value "SELECT DB_NAME()"
2323
end
2424

2525
def charset
@@ -41,7 +41,7 @@ def create_database_options(options={})
4141
v.present?
4242
}.slice(*keys).map { |k,v|
4343
"#{k.to_s.upcase} #{v}"
44-
}.join(' ')
44+
}.join(" ")
4545
options
4646
end
4747

@@ -56,7 +56,7 @@ def create_database_edition_options(options={})
5656
v.present?
5757
}.slice(*keys).map { |k,v|
5858
"#{k.to_s.upcase} = #{v}"
59-
}.join(', ')
59+
}.join(", ")
6060
edition_options = "( #{edition_options} )" if edition_options.present?
6161
edition_options
6262
end

lib/active_record/connection_adapters/sqlserver/quoting.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ module ConnectionAdapters
55
module SQLServer
66
module Quoting
77

8-
QUOTED_TRUE = '1'.freeze
9-
QUOTED_FALSE = '0'.freeze
10-
QUOTED_STRING_PREFIX = 'N'.freeze
8+
QUOTED_TRUE = "1".freeze
9+
QUOTED_FALSE = "0".freeze
10+
QUOTED_STRING_PREFIX = "N".freeze
1111

1212
def fetch_type_metadata(sql_type, sqlserver_options = {})
1313
cast_type = lookup_cast_type(sql_type)

lib/active_record/connection_adapters/sqlserver/schema_dumper.rb

+5-5
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ module SQLServer
66
class SchemaDumper < ConnectionAdapters::SchemaDumper
77

88
SQLSEVER_NO_LIMIT_TYPES = [
9-
'text',
10-
'ntext',
11-
'varchar(max)',
12-
'nvarchar(max)',
13-
'varbinary(max)'
9+
"text",
10+
"ntext",
11+
"varchar(max)",
12+
"nvarchar(max)",
13+
"varbinary(max)"
1414
].freeze
1515

1616
private

0 commit comments

Comments
 (0)