activerecord-tablefree 3.1.7 → 3.1.8

Sign up to get free protection for your applications and to get access to all the features.
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