activerecord-sqlserver-adapter 5.2.0 → 5.2.1

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.
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