activerecord-tablefree 3.1.7 → 3.1.8

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fdef3bd0f5c266b4321652f0316960c23cf83fcc3fc34daba89a0383878bb12d
4
- data.tar.gz: 3e11bccff94e87fbde89840ce180bc9eae271f5b0c3b1bc26a703c5cac15b10a
3
+ metadata.gz: 7fc3c83aa280346d38cfe3b09e7a3844fe49c00533e882007303e29bba6518e6
4
+ data.tar.gz: a5b1df6f5f99f8d3eb745240132ae7b75ba909d69c57d675948406257bc07df3
5
5
  SHA512:
6
- metadata.gz: 90f6e6aa84ae947cb8844f17bd79b4d4fcf77304004eeb9cefa7c1e5c031f50b8d04521a5a6b89d49a42ab9150eed246b4b7944ba99346e9928b4b4852c08ff7
7
- data.tar.gz: 1c0604e1bd9950460a80319eeb0514fba293407c2832de65d77723d4db7774ba38cc51b59c20015be6e67559216da7ba387a300760df9227be71e8be5a223c37
6
+ metadata.gz: 1dd0aa35765e870c767e982bcce2dc60119fc62f753a7b86b75e7b33ddfc13d913cd0342117bce51861d8faa482efd003b8db82618df8748ec4ce50c9b236b0a
7
+ data.tar.gz: 57fca62e0b668891f893e16576699f549c996c482c8aaed479fb32bd619812657f35c19b26a2d4fddc6e4e64dc5551dc44b6165f581549c2ebb7d51d755a5803
@@ -30,12 +30,10 @@ sudo: false
30
30
 
31
31
  rvm:
32
32
  # latest versions on travis-ci as of 2018.09.04
33
- - jruby-9.1.9.0
34
33
  - ruby-2.2.10
35
34
  - ruby-2.3.7
36
35
  - ruby-2.4.4
37
36
  - ruby-2.5.1
38
- - jruby-head
39
37
  - ruby-head
40
38
  gemfile:
41
39
  - gemfiles/rails50.gemfile
@@ -44,7 +42,6 @@ gemfile:
44
42
 
45
43
  matrix:
46
44
  allow_failures:
47
- - rvm: jruby-head
48
45
  - rvm: ruby-head
49
46
  fast_finish: true
50
47
  exclude:
@@ -52,14 +49,6 @@ matrix:
52
49
  # ruby-2.3.7 tests on all versions
53
50
  # ruby-2.4.4 tests on all versions
54
51
  # ruby-2.5.1 tests on all versions
55
- # jruby-9.1.9.0 only tests on rails 5.1+
56
- - rvm: jruby-9.1.9.0
57
- gemfile: gemfiles/rails_5_0.gemfile
58
- # jruby-head only tests on rails 5.2+
59
- - rvm: jruby-head
60
- gemfile: gemfiles/rails_5_0.gemfile
61
- - rvm: jruby-head
62
- gemfile: gemfiles/rails_5_1.gemfile
63
52
  # ruby-head only tests on rails 5.2+
64
53
  - rvm: ruby-head
65
54
  gemfile: gemfiles/rails_5_0.gemfile
@@ -37,7 +37,7 @@ Gem::Specification.new do |gem|
37
37
  gem.add_development_dependency('rspec', '~> 3')
38
38
  gem.add_development_dependency('rspec-collection_matchers', '~> 1')
39
39
 
40
- gem.add_development_dependency('capybara', '~> 2')
40
+ gem.add_development_dependency('capybara', '~> 3')
41
41
  gem.add_development_dependency('coveralls', '~> 0')
42
42
  gem.add_development_dependency('gem-release', '~> 2')
43
43
  gem.add_development_dependency('listen', '~> 3')
@@ -86,11 +86,15 @@ module ActiveRecord
86
86
  end
87
87
 
88
88
  # Register a new column.
89
- def column(name, sql_type = nil, default = nil, null = true)
90
- cast_class = "ActiveRecord::Type::#{sql_type.to_s.camelize}".constantize rescue nil
89
+ def column(name, sql_type = nil, default = nil, null = true, cast_class_params = nil)
90
+ cast_class = if sql_type.is_a?(Class) && sql_type < ActiveModel::Type::Value
91
+ sql_type
92
+ else
93
+ "ActiveRecord::Type::#{sql_type.to_s.camelize}".constantize rescue nil
94
+ end
91
95
  raise InvalidColumnType, "sql_type is #{sql_type} (#{sql_type.class}), which is not supported" unless cast_class.respond_to?(:new)
92
- cast_type = cast_class.new
93
- tablefree_options[:columns_hash][name.to_s] = ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, cast_type, sql_type.to_s, null)
96
+ cast_type = cast_class.new(*cast_class_params)
97
+ tablefree_options[:columns_hash][name.to_s] = ActiveRecord::ConnectionAdapters::Column.new(name.to_s, default, cast_type, null)
94
98
  end
95
99
 
96
100
  # Register a set of columns with the same SQL type
@@ -4,6 +4,11 @@ module ActiveRecord::Tablefree
4
4
  true
5
5
  end
6
6
 
7
+ # Needed for Rails 5.2 when using numericality validator
8
+ def value_constructed_by_mass_assignment?(_value)
9
+ false
10
+ end
11
+
7
12
  # Needed for Rails 5.0
8
13
  def serialize(args)
9
14
  args
@@ -2,6 +2,6 @@
2
2
 
3
3
  module ActiveRecord
4
4
  module Tablefree
5
- VERSION = '3.1.7'.freeze
5
+ VERSION = '3.1.8'.freeze
6
6
  end
7
7
  end
@@ -7,6 +7,7 @@ def make_tablefree_model(database = nil, nested = nil)
7
7
  #{database ? "has_no_table :database => :#{database}" : 'has_no_table'}
8
8
  column :id, :integer
9
9
  column :name, :string
10
+ column :not_nullable, :integer, 1, false
10
11
  #{if nested
11
12
  '
12
13
  has_many :arm_rests
@@ -162,6 +163,12 @@ describe 'Tablefree model with fail_fast' do
162
163
  before(:context) { make_tablefree_model(nil, nil) }
163
164
  after(:context) { remove_models }
164
165
  subject { Chair }
166
+ it 'has the expected null value for columns' do
167
+ name = subject.columns.detect { |column| column.name == 'name' }.null
168
+ not_nullable = subject.columns.detect { |column| column.name == 'not_nullable' }.null
169
+ expect(name).to be_truthy
170
+ expect(not_nullable).to be_falsy
171
+ end
165
172
  it_behaves_like 'a tablefree model with fail_fast'
166
173
  describe 'instance' do
167
174
  subject { Chair.new(name: 'Jarl') }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord-tablefree
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.7
4
+ version: 3.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jarl Friis
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2018-09-08 00:00:00.000000000 Z
14
+ date: 2018-09-23 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activerecord
@@ -157,14 +157,14 @@ dependencies:
157
157
  requirements:
158
158
  - - "~>"
159
159
  - !ruby/object:Gem::Version
160
- version: '2'
160
+ version: '3'
161
161
  type: :development
162
162
  prerelease: false
163
163
  version_requirements: !ruby/object:Gem::Requirement
164
164
  requirements:
165
165
  - - "~>"
166
166
  - !ruby/object:Gem::Version
167
- version: '2'
167
+ version: '3'
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: coveralls
170
170
  requirement: !ruby/object:Gem::Requirement