activerecord-sqlserver-adapter 5.2.0 → 5.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +6 -6
  3. data/CHANGELOG.md +15 -0
  4. data/Dockerfile +1 -1
  5. data/README.md +0 -7
  6. data/VERSION +1 -1
  7. data/lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb +19 -0
  8. data/lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb +43 -0
  9. data/lib/active_record/connection_adapters/sqlserver/core_ext/query_methods.rb +26 -0
  10. data/lib/active_record/connection_adapters/sqlserver/database_tasks.rb +1 -0
  11. data/lib/active_record/connection_adapters/sqlserver/schema_statements.rb +10 -5
  12. data/lib/active_record/connection_adapters/sqlserver_adapter.rb +6 -2
  13. data/test/cases/adapter_test_sqlserver.rb +18 -18
  14. data/test/cases/change_column_null_test_sqlserver.rb +4 -4
  15. data/test/cases/coerced_tests.rb +28 -9
  16. data/test/cases/column_test_sqlserver.rb +490 -458
  17. data/test/cases/connection_test_sqlserver.rb +2 -2
  18. data/test/cases/fetch_test_sqlserver.rb +5 -5
  19. data/test/cases/helper_sqlserver.rb +5 -0
  20. data/test/cases/json_test_sqlserver.rb +6 -6
  21. data/test/cases/migration_test_sqlserver.rb +10 -2
  22. data/test/cases/pessimistic_locking_test_sqlserver.rb +9 -9
  23. data/test/cases/rake_test_sqlserver.rb +20 -20
  24. data/test/cases/schema_dumper_test_sqlserver.rb +34 -33
  25. data/test/cases/schema_test_sqlserver.rb +2 -2
  26. data/test/cases/showplan_test_sqlserver.rb +14 -14
  27. data/test/cases/specific_schema_test_sqlserver.rb +11 -11
  28. data/test/cases/transaction_test_sqlserver.rb +9 -9
  29. data/test/cases/trigger_test_sqlserver.rb +8 -8
  30. data/test/cases/utils_test_sqlserver.rb +36 -36
  31. data/test/cases/uuid_test_sqlserver.rb +8 -8
  32. data/test/schema/datatypes/2012.sql +1 -0
  33. metadata +5 -5
  34. data/BACKERS.md +0 -32
  35. data/circle.yml +0 -38
@@ -11,8 +11,8 @@ class SpecificSchemaTestSQLServer < ActiveRecord::TestCase
11
11
 
12
12
  it 'models can use tinyint pk tables' do
13
13
  obj = SSTestTinyintPk.create! name: '1'
14
- ['Fixnum', 'Integer'].must_include obj.id.class.name
15
- SSTestTinyintPk.find(obj.id).must_equal obj
14
+ _(['Fixnum', 'Integer']).must_include obj.id.class.name
15
+ _(SSTestTinyintPk.find(obj.id)).must_equal obj
16
16
  end
17
17
 
18
18
  it 'be able to complex count tables with no primary key' do
@@ -58,17 +58,17 @@ class SpecificSchemaTestSQLServer < ActiveRecord::TestCase
58
58
 
59
59
  it 'default objects work' do
60
60
  obj = SSTestObjectDefault.create! name: 'MetaSkills'
61
- obj.date.must_be_nil 'since this is set on insert'
62
- obj.reload.date.must_be_instance_of Date
61
+ _(obj.date).must_be_nil 'since this is set on insert'
62
+ _(obj.reload.date).must_be_instance_of Date
63
63
  end
64
64
 
65
65
  it 'allows datetime2 as timestamps' do
66
- SSTestBooking.columns_hash['created_at'].sql_type.must_equal 'datetime2(7)'
67
- SSTestBooking.columns_hash['updated_at'].sql_type.must_equal 'datetime2(7)'
66
+ _(SSTestBooking.columns_hash['created_at'].sql_type).must_equal 'datetime2(7)'
67
+ _(SSTestBooking.columns_hash['updated_at'].sql_type).must_equal 'datetime2(7)'
68
68
  obj1 = SSTestBooking.new name: 'test1'
69
69
  obj1.save!
70
- obj1.created_at.must_be_instance_of Time
71
- obj1.updated_at.must_be_instance_of Time
70
+ _(obj1.created_at).must_be_instance_of Time
71
+ _(obj1.updated_at).must_be_instance_of Time
72
72
  end
73
73
 
74
74
  # Natural primary keys.
@@ -124,10 +124,10 @@ class SpecificSchemaTestSQLServer < ActiveRecord::TestCase
124
124
  o = SSTestDatatypeMigration.create!
125
125
  o.varchar_col = "O'Reilly"
126
126
  o.save!
127
- o.reload.varchar_col.must_equal "O'Reilly"
127
+ _(o.reload.varchar_col).must_equal "O'Reilly"
128
128
  o.varchar_col = nil
129
129
  o.save!
130
- o.reload.varchar_col.must_be_nil
130
+ _(o.reload.varchar_col).must_be_nil
131
131
  end
132
132
 
133
133
  # With column names that have spaces
@@ -156,7 +156,7 @@ class SpecificSchemaTestSQLServer < ActiveRecord::TestCase
156
156
  it 'returns a new id via connection newid_function' do
157
157
  acceptable_uuid = ActiveRecord::ConnectionAdapters::SQLServer::Type::Uuid::ACCEPTABLE_UUID
158
158
  db_uuid = ActiveRecord::Base.connection.newid_function
159
- db_uuid.must_match(acceptable_uuid)
159
+ _(db_uuid).must_match(acceptable_uuid)
160
160
  end
161
161
 
162
162
  # with similar table definition in two schemas
@@ -34,22 +34,22 @@ class TransactionTestSQLServer < ActiveRecord::TestCase
34
34
  it 'can use an isolation level and reverts back to starting isolation level' do
35
35
  in_level = nil
36
36
  begin_level = connection.user_options_isolation_level
37
- begin_level.must_match %r{read committed}i
37
+ _(begin_level).must_match %r{read committed}i
38
38
  Ship.transaction(isolation: :serializable) do
39
39
  Ship.create! name: 'Black Pearl'
40
40
  in_level = connection.user_options_isolation_level
41
41
  end
42
42
  after_level = connection.user_options_isolation_level
43
- in_level.must_match %r{serializable}i
44
- after_level.must_match %r{read committed}i
43
+ _(in_level).must_match %r{serializable}i
44
+ _(after_level).must_match %r{read committed}i
45
45
  end
46
46
 
47
47
  it 'can use an isolation level and reverts back to starting isolation level under exceptions' do
48
- connection.user_options_isolation_level.must_match %r{read committed}i
49
- lambda {
48
+ _(connection.user_options_isolation_level).must_match %r{read committed}i
49
+ _(lambda {
50
50
  Ship.transaction(isolation: :serializable) { Ship.create! }
51
- }.must_raise(ActiveRecord::RecordInvalid)
52
- connection.user_options_isolation_level.must_match %r{read committed}i
51
+ }).must_raise(ActiveRecord::RecordInvalid)
52
+ _(connection.user_options_isolation_level).must_match %r{read committed}i
53
53
  end
54
54
 
55
55
  describe 'when READ_COMMITTED_SNAPSHOT is set' do
@@ -64,7 +64,7 @@ class TransactionTestSQLServer < ActiveRecord::TestCase
64
64
  end
65
65
 
66
66
  it 'should use READ COMMITTED as an isolation level' do
67
- connection.user_options_isolation_level.must_match "read committed snapshot"
67
+ _(connection.user_options_isolation_level).must_match "read committed snapshot"
68
68
 
69
69
  Ship.transaction(isolation: :serializable) do
70
70
  Ship.create! name: 'Black Pearl'
@@ -73,7 +73,7 @@ class TransactionTestSQLServer < ActiveRecord::TestCase
73
73
  # We're actually testing that the isolation level was correctly reset to
74
74
  # "READ COMMITTED", and that no exception was raised (it's reported back
75
75
  # by SQL Server as "read committed snapshot").
76
- connection.user_options_isolation_level.must_match "read committed snapshot"
76
+ _(connection.user_options_isolation_level).must_match "read committed snapshot"
77
77
  end
78
78
  end
79
79
 
@@ -12,19 +12,19 @@ class SQLServerTriggerTest < ActiveRecord::TestCase
12
12
  exclude_output_inserted_table_names['sst_table_with_trigger'] = true
13
13
  assert SSTestTriggerHistory.all.empty?
14
14
  obj = SSTestTrigger.create! event_name: 'test trigger'
15
- ['Fixnum', 'Integer'].must_include obj.id.class.name
16
- obj.event_name.must_equal 'test trigger'
17
- obj.id.must_be :present?
18
- obj.id.to_s.must_equal SSTestTriggerHistory.first.id_source
15
+ _(['Fixnum', 'Integer']).must_include obj.id.class.name
16
+ _(obj.event_name).must_equal 'test trigger'
17
+ _(obj.id).must_be :present?
18
+ _(obj.id.to_s).must_equal SSTestTriggerHistory.first.id_source
19
19
  end
20
20
 
21
21
  it 'can insert into a table with output inserted - with a uniqueidentifier value' do
22
22
  exclude_output_inserted_table_names['sst_table_with_uuid_trigger'] = 'uniqueidentifier'
23
23
  assert SSTestTriggerHistory.all.empty?
24
24
  obj = SSTestTriggerUuid.create! event_name: 'test uuid trigger'
25
- obj.id.class.name.must_equal 'String'
26
- obj.event_name.must_equal 'test uuid trigger'
27
- obj.id.must_be :present?
28
- obj.id.to_s.must_equal SSTestTriggerHistory.first.id_source
25
+ _(obj.id.class.name).must_equal 'String'
26
+ _(obj.event_name).must_equal 'test uuid trigger'
27
+ _(obj.id).must_be :present?
28
+ _(obj.id.to_s).must_equal SSTestTriggerHistory.first.id_source
29
29
  end
30
30
  end
@@ -3,15 +3,15 @@ require 'cases/helper_sqlserver'
3
3
  class UtilsTestSQLServer < ActiveRecord::TestCase
4
4
 
5
5
  it '.quote_string' do
6
- SQLServer::Utils.quote_string("I'll store this in C:\\Users").must_equal "I''ll store this in C:\\Users"
6
+ _(SQLServer::Utils.quote_string("I'll store this in C:\\Users")).must_equal "I''ll store this in C:\\Users"
7
7
  end
8
8
 
9
9
  it '.unquote_string' do
10
- SQLServer::Utils.unquote_string("I''ll store this in C:\\Users").must_equal "I'll store this in C:\\Users"
10
+ _(SQLServer::Utils.unquote_string("I''ll store this in C:\\Users")).must_equal "I'll store this in C:\\Users"
11
11
  end
12
12
 
13
13
  it '.quoted_raw' do
14
- SQLServer::Utils.quoted_raw("some.Name").must_equal "[some.Name]"
14
+ _(SQLServer::Utils.quoted_raw("some.Name")).must_equal "[some.Name]"
15
15
  end
16
16
 
17
17
  describe '.extract_identifiers constructor and thus SQLServer::Utils::Name value object' do
@@ -47,8 +47,8 @@ class UtilsTestSQLServer < ActiveRecord::TestCase
47
47
  it 'extracts and returns #object identifier unquoted by default or quoted as needed' do
48
48
  valid_names.each do |n|
49
49
  name = extract_identifiers(n)
50
- name.object.must_equal 'object', "With #{n.inspect} for #object"
51
- name.object_quoted.must_equal '[object]', "With #{n.inspect} for #object_quoted"
50
+ _(name.object).must_equal 'object', "With #{n.inspect} for #object"
51
+ _(name.object_quoted).must_equal '[object]', "With #{n.inspect} for #object_quoted"
52
52
  end
53
53
  end
54
54
 
@@ -58,64 +58,64 @@ class UtilsTestSQLServer < ActiveRecord::TestCase
58
58
  present, blank = send(:"#{part}_names")
59
59
  present.each do |n|
60
60
  name = extract_identifiers(n)
61
- name.send(:"#{part}").must_equal "#{part}", "With #{n.inspect} for ##{part} method"
62
- name.send(:"#{part}_quoted").must_equal "[#{part}]", "With #{n.inspect} for ##{part}_quoted method"
61
+ _(name.send(:"#{part}")).must_equal "#{part}", "With #{n.inspect} for ##{part} method"
62
+ _(name.send(:"#{part}_quoted")).must_equal "[#{part}]", "With #{n.inspect} for ##{part}_quoted method"
63
63
  end
64
64
  blank.each do |n|
65
65
  name = extract_identifiers(n)
66
- name.send(:"#{part}").must_be_nil "With #{n.inspect} for ##{part} method"
67
- name.send(:"#{part}_quoted").must_be_nil "With #{n.inspect} for ##{part}_quoted method"
66
+ _(name.send(:"#{part}")).must_be_nil "With #{n.inspect} for ##{part} method"
67
+ _(name.send(:"#{part}_quoted")).must_be_nil "With #{n.inspect} for ##{part}_quoted method"
68
68
  end
69
69
  end
70
70
 
71
71
  end
72
72
 
73
73
  it 'does not blow up on nil or blank string name' do
74
- extract_identifiers(nil).object.must_be_nil
75
- extract_identifiers(' ').object.must_be_nil
74
+ _(extract_identifiers(nil).object).must_be_nil
75
+ _(extract_identifiers(' ').object).must_be_nil
76
76
  end
77
77
 
78
78
  it 'has a #quoted that returns a fully quoted name with all identifiers as orginially passed in' do
79
- extract_identifiers('object').quoted.must_equal '[object]'
80
- extract_identifiers('server.database..object').quoted.must_equal '[server].[database]..[object]'
81
- extract_identifiers('[server]...[object]').quoted.must_equal '[server]...[object]'
79
+ _(extract_identifiers('object').quoted).must_equal '[object]'
80
+ _(extract_identifiers('server.database..object').quoted).must_equal '[server].[database]..[object]'
81
+ _(extract_identifiers('[server]...[object]').quoted).must_equal '[server]...[object]'
82
82
  end
83
83
 
84
84
  it 'can take a symbol argument' do
85
- extract_identifiers(:object).object.must_equal 'object'
85
+ _(extract_identifiers(:object).object).must_equal 'object'
86
86
  end
87
87
 
88
88
  it 'allows identifiers with periods to work' do
89
- extract_identifiers('[obj.name]').quoted.must_equal '[obj.name]'
90
- extract_identifiers('[obj.name].[foo]').quoted.must_equal '[obj.name].[foo]'
89
+ _(extract_identifiers('[obj.name]').quoted).must_equal '[obj.name]'
90
+ _(extract_identifiers('[obj.name].[foo]').quoted).must_equal '[obj.name].[foo]'
91
91
  end
92
92
 
93
93
  it 'should indicate if a name is fully qualitified' do
94
- extract_identifiers('object').fully_qualified?.must_equal false
95
- extract_identifiers('schema.object').fully_qualified?.must_equal false
96
- extract_identifiers('database.schema.object').fully_qualified?.must_equal false
97
- extract_identifiers('database.object').fully_qualified?.must_equal false
98
- extract_identifiers('server...object').fully_qualified?.must_equal false
99
- extract_identifiers('server.database..object').fully_qualified?.must_equal false
100
- extract_identifiers('server.database.schema.object').fully_qualified?.must_equal true
101
- extract_identifiers('server.database.schema.').fully_qualified?.must_equal true
102
- extract_identifiers('[obj.name]').fully_qualified?.must_equal false
103
- extract_identifiers('[schema].[obj.name]').fully_qualified?.must_equal false
104
- extract_identifiers('[database].[schema].[obj.name]').fully_qualified?.must_equal false
105
- extract_identifiers('[database].[obj.name]').fully_qualified?.must_equal false
106
- extract_identifiers('[server.name]...[obj.name]').fully_qualified?.must_equal false
107
- extract_identifiers('[server.name].[database]..[obj.name]').fully_qualified?.must_equal false
108
- extract_identifiers('[server.name].[database].[schema].[obj.name]').fully_qualified?.must_equal true
109
- extract_identifiers('[server.name].[database].[schema].').fully_qualified?.must_equal true
94
+ _(extract_identifiers('object').fully_qualified?).must_equal false
95
+ _(extract_identifiers('schema.object').fully_qualified?).must_equal false
96
+ _(extract_identifiers('database.schema.object').fully_qualified?).must_equal false
97
+ _(extract_identifiers('database.object').fully_qualified?).must_equal false
98
+ _(extract_identifiers('server...object').fully_qualified?).must_equal false
99
+ _(extract_identifiers('server.database..object').fully_qualified?).must_equal false
100
+ _(extract_identifiers('server.database.schema.object').fully_qualified?).must_equal true
101
+ _(extract_identifiers('server.database.schema.').fully_qualified?).must_equal true
102
+ _(extract_identifiers('[obj.name]').fully_qualified?).must_equal false
103
+ _(extract_identifiers('[schema].[obj.name]').fully_qualified?).must_equal false
104
+ _(extract_identifiers('[database].[schema].[obj.name]').fully_qualified?).must_equal false
105
+ _(extract_identifiers('[database].[obj.name]').fully_qualified?).must_equal false
106
+ _(extract_identifiers('[server.name]...[obj.name]').fully_qualified?).must_equal false
107
+ _(extract_identifiers('[server.name].[database]..[obj.name]').fully_qualified?).must_equal false
108
+ _(extract_identifiers('[server.name].[database].[schema].[obj.name]').fully_qualified?).must_equal true
109
+ _(extract_identifiers('[server.name].[database].[schema].').fully_qualified?).must_equal true
110
110
  end
111
111
 
112
112
  it 'can return fully qualified quoted table name' do
113
113
  name = extract_identifiers('[my.server].db.schema.')
114
- name.fully_qualified_database_quoted.must_equal '[my.server].[db]'
114
+ _(name.fully_qualified_database_quoted).must_equal '[my.server].[db]'
115
115
  name = extract_identifiers('[server.name].[database].[schema].[object]')
116
- name.fully_qualified_database_quoted.must_equal '[server.name].[database]'
116
+ _(name.fully_qualified_database_quoted).must_equal '[server.name].[database]'
117
117
  name = extract_identifiers('server.database.schema.object')
118
- name.fully_qualified_database_quoted.must_equal '[server].[database]'
118
+ _(name.fully_qualified_database_quoted).must_equal '[server].[database]'
119
119
  end
120
120
 
121
121
  end
@@ -6,24 +6,24 @@ class SQLServerUuidTest < ActiveRecord::TestCase
6
6
  let(:acceptable_uuid) { ActiveRecord::ConnectionAdapters::SQLServer::Type::Uuid::ACCEPTABLE_UUID }
7
7
 
8
8
  it 'has a uuid primary key' do
9
- SSTestUuid.columns_hash['id'].type.must_equal :uuid
9
+ _(SSTestUuid.columns_hash['id'].type).must_equal :uuid
10
10
  assert SSTestUuid.primary_key
11
11
  end
12
12
 
13
13
  it 'can create with a new pk' do
14
14
  obj = SSTestUuid.create!
15
- obj.id.must_be :present?
16
- obj.id.must_match acceptable_uuid
15
+ _(obj.id).must_be :present?
16
+ _(obj.id).must_match acceptable_uuid
17
17
  end
18
18
 
19
19
  it 'can create other uuid column on reload' do
20
20
  obj = SSTestUuid.create!
21
21
  obj.reload
22
- obj.other_uuid.must_match acceptable_uuid
22
+ _(obj.other_uuid).must_match acceptable_uuid
23
23
  end
24
24
 
25
25
  it 'can find uuid pk via connection' do
26
- connection.primary_key(SSTestUuid.table_name).must_equal 'id'
26
+ _(connection.primary_key(SSTestUuid.table_name)).must_equal 'id'
27
27
  end
28
28
 
29
29
  it 'changing column default' do
@@ -31,17 +31,17 @@ class SQLServerUuidTest < ActiveRecord::TestCase
31
31
  connection.add_column table_name, :thingy, :uuid, null: false, default: "NEWSEQUENTIALID()"
32
32
  SSTestUuid.reset_column_information
33
33
  column = SSTestUuid.columns_hash['thingy']
34
- column.default_function.must_equal "newsequentialid()"
34
+ _(column.default_function).must_equal "newsequentialid()"
35
35
  # Now to a different function.
36
36
  connection.change_column table_name, :thingy, :uuid, null: false, default: "NEWID()"
37
37
  SSTestUuid.reset_column_information
38
38
  column = SSTestUuid.columns_hash['thingy']
39
- column.default_function.must_equal "newid()"
39
+ _(column.default_function).must_equal "newid()"
40
40
  end
41
41
 
42
42
  it 'can insert even when use_output_inserted to false ' do
43
43
  obj = with_use_output_inserted_disabled { SSTestUuid.create!(name: "😢") }
44
- obj.id.must_be :nil?
44
+ _(obj.id).must_be :nil?
45
45
  end
46
46
 
47
47
  end
@@ -35,6 +35,7 @@ CREATE TABLE [sst_datatypes] (
35
35
  [smalldatetime] [smalldatetime] NULL DEFAULT '1901-01-01T15:45:00.000Z',
36
36
  [time_7] [time](7) NULL DEFAULT '04:20:00.2883215',
37
37
  [time_2] [time](2) NULL,
38
+ [time_default] [time] NULL DEFAULT '15:03:42.0621978',
38
39
  -- Character Strings
39
40
  [char_10] [char](10) NULL DEFAULT '1234567890',
40
41
  [varchar_50] [varchar](50) NULL DEFAULT 'test varchar_50',
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-sqlserver-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.2.0
4
+ version: 5.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ken Collins
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2019-03-19 00:00:00.000000000 Z
17
+ date: 2020-03-30 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: activerecord
@@ -54,7 +54,6 @@ extra_rdoc_files: []
54
54
  files:
55
55
  - ".gitignore"
56
56
  - ".travis.yml"
57
- - BACKERS.md
58
57
  - CHANGELOG.md
59
58
  - CODE_OF_CONDUCT.md
60
59
  - Dockerfile
@@ -67,13 +66,14 @@ files:
67
66
  - VERSION
68
67
  - activerecord-sqlserver-adapter.gemspec
69
68
  - appveyor.yml
70
- - circle.yml
71
69
  - docker-compose.ci.yml
72
70
  - lib/active_record/connection_adapters/sqlserver/core_ext/active_record.rb
73
71
  - lib/active_record/connection_adapters/sqlserver/core_ext/attribute_methods.rb
74
72
  - lib/active_record/connection_adapters/sqlserver/core_ext/calculations.rb
75
73
  - lib/active_record/connection_adapters/sqlserver/core_ext/explain.rb
76
74
  - lib/active_record/connection_adapters/sqlserver/core_ext/explain_subscriber.rb
75
+ - lib/active_record/connection_adapters/sqlserver/core_ext/finder_methods.rb
76
+ - lib/active_record/connection_adapters/sqlserver/core_ext/query_methods.rb
77
77
  - lib/active_record/connection_adapters/sqlserver/database_limits.rb
78
78
  - lib/active_record/connection_adapters/sqlserver/database_statements.rb
79
79
  - lib/active_record/connection_adapters/sqlserver/database_tasks.rb
@@ -222,7 +222,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
222
222
  - !ruby/object:Gem::Version
223
223
  version: '0'
224
224
  requirements: []
225
- rubygems_version: 3.0.1
225
+ rubygems_version: 3.0.3
226
226
  signing_key:
227
227
  specification_version: 4
228
228
  summary: ActiveRecord SQL Server Adapter.
data/BACKERS.md DELETED
@@ -1,32 +0,0 @@
1
- # Backers
2
-
3
- You can join in supporting TinyTDS and the Rails SQL Server Adapter development by [pledging on Patreon](https://www.patreon.com/metaskills)! Backers in the same pledge level appear in the order of pledge date.
4
-
5
- ### $2000
6
-
7
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611218)
8
-
9
-
10
- ### $500
11
-
12
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611209)
13
-
14
-
15
- ### $250
16
-
17
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611199)
18
-
19
-
20
- ### $100
21
-
22
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611196)
23
-
24
-
25
- ### $50+
26
-
27
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611186)
28
-
29
-
30
- ### $10+
31
-
32
- [It could be you!](https://www.patreon.com/bePatron?c=765225&rid=1611149)
data/circle.yml DELETED
@@ -1,38 +0,0 @@
1
- general:
2
- branches:
3
- ignore:
4
- - /dev.*/
5
-
6
- machine:
7
- environment:
8
- PATH: /opt/local/bin:${PATH}
9
- TINYTDS_VERSION: 2.1.0
10
- ACTIVERECORD_UNITTEST_HOST: localhost
11
- ACTIVERECORD_UNITTEST_DATASERVER: localhost
12
- services:
13
- - docker
14
-
15
- dependencies:
16
- override:
17
- - sudo ./test/bin/install-openssl.sh
18
- - openssl version
19
- - sudo ./test/bin/install-freetds.sh
20
- - tsql -C
21
- - rvm-exec 2.3.8 bundle install
22
- - rvm-exec 2.4.5 bundle install
23
- - rvm-exec 2.5.3 bundle install
24
- - rvm-exec 2.6.0 bundle install
25
-
26
- database:
27
- override:
28
- - echo "Hello"
29
- post:
30
- - docker info
31
- - ./test/bin/setup.sh
32
-
33
- test:
34
- override:
35
- - rvm-exec 2.3.8 bundle exec rake test
36
- - rvm-exec 2.4.5 bundle exec rake test
37
- - rvm-exec 2.5.3 bundle exec rake test
38
- - rvm-exec 2.6.0 bundle exec rake test