schema_plus_db_default 0.1.0
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 +7 -0
- data/.gitignore +9 -0
- data/.travis.yml +17 -0
- data/Gemfile +5 -0
- data/LICENSE.txt +22 -0
- data/README.md +100 -0
- data/Rakefile +9 -0
- data/gemfiles/Gemfile.base +4 -0
- data/gemfiles/activerecord-4.2/Gemfile.base +3 -0
- data/gemfiles/activerecord-4.2/Gemfile.mysql2 +10 -0
- data/gemfiles/activerecord-4.2/Gemfile.postgresql +10 -0
- data/lib/schema_plus/db_default/active_record/attribute.rb +16 -0
- data/lib/schema_plus/db_default/db_default.rb +16 -0
- data/lib/schema_plus/db_default/middleware.rb +30 -0
- data/lib/schema_plus/db_default/version.rb +5 -0
- data/lib/schema_plus/db_default.rb +8 -0
- data/lib/schema_plus_db_default.rb +1 -0
- data/schema_dev.yml +7 -0
- data/schema_plus_db_default.gemspec +30 -0
- data/spec/column_spec.rb +48 -0
- data/spec/spec_helper.rb +21 -0
- metadata +185 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 525d6394f0435e926ad137289e0db842f1123065
|
|
4
|
+
data.tar.gz: 827c001859e4830a2b5e4ced64c7b46a09158d43
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 8d9291e76286079dfae4f3c54670074ad12bb4573aa78b91bc8ca4d6e064f56ce94bb89be3fc4906e7081fd370d21a4f0b763cd5c15420780ccfd9457ccc2746
|
|
7
|
+
data.tar.gz: 3190632951e3737f7ff38881c7819d177177197550468d72a9e3b6bf6faf8fd54236ce3302e35dbc87da40ae871b885599a408b3619fa2c1bd7e00488f2b297f
|
data/.gitignore
ADDED
data/.travis.yml
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# This file was auto-generated by the schema_dev tool, based on the data in
|
|
2
|
+
# ./schema_dev.yml
|
|
3
|
+
# Please do not edit this file; any changes will be overwritten next time
|
|
4
|
+
# schema_dev gets run.
|
|
5
|
+
---
|
|
6
|
+
sudo: false
|
|
7
|
+
rvm:
|
|
8
|
+
- 2.1.5
|
|
9
|
+
gemfile:
|
|
10
|
+
- gemfiles/activerecord-4.2/Gemfile.mysql2
|
|
11
|
+
- gemfiles/activerecord-4.2/Gemfile.postgresql
|
|
12
|
+
env: POSTGRESQL_DB_USER=postgres MYSQL_DB_USER=travis
|
|
13
|
+
addons:
|
|
14
|
+
postgresql: '9.3'
|
|
15
|
+
before_script: bundle exec rake create_databases
|
|
16
|
+
after_script: bundle exec rake drop_databases
|
|
17
|
+
script: bundle exec rake travis
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright (c) 2015 ronen barzel
|
|
2
|
+
|
|
3
|
+
MIT License
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
|
+
a copy of this software and associated documentation files (the
|
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
|
11
|
+
the following conditions:
|
|
12
|
+
|
|
13
|
+
The above copyright notice and this permission notice shall be
|
|
14
|
+
included in all copies or substantial portions of the Software.
|
|
15
|
+
|
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
[](http://badge.fury.io/rb/schema_plus_db_default)
|
|
2
|
+
[](http://travis-ci.org/SchemaPlus/schema_plus_db_default)
|
|
3
|
+
[](https://coveralls.io/r/SchemaPlus/schema_plus_db_default)
|
|
4
|
+
[](https://gemnasium.com/SchemaPlus/schema_plus_db_default)
|
|
5
|
+
|
|
6
|
+
# SchemaPlus::DbDefault
|
|
7
|
+
|
|
8
|
+
ShemaPlus::DbDefault provides a constant `ActiveRecord::DB_DEFAULT` that you can use to set an attribute's database column to the default value or expression specified in the database schema.
|
|
9
|
+
|
|
10
|
+
(Without `ActiveRecord::DB_DEFAULT` you can update a column to `NULL` but not to its default value.)
|
|
11
|
+
|
|
12
|
+
SchemaPlus::DbDefault is part of the [SchemaPlus](https://github.com/SchemaPlus/) family of Ruby on Rails ActiveRecord extension gems.
|
|
13
|
+
|
|
14
|
+
## Usage
|
|
15
|
+
|
|
16
|
+
Use `ActiveRecord::DB_DEFAULT` as a "magic value" for attributes; when saved it will cause SQL to use the DB default value.
|
|
17
|
+
|
|
18
|
+
```ruby
|
|
19
|
+
record.update_attributes(category: ActiveRecord::DB_DEFAULT) # SQL: UPDATE tablename SET category = DEFAULT
|
|
20
|
+
record.reload
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
After the save, you'll need to reload the record to replace `ActiveRecord::DB_DEFAULT` with the value assigned by the database.
|
|
24
|
+
|
|
25
|
+
## Installation
|
|
26
|
+
|
|
27
|
+
<!-- SCHEMA_DEV: TEMPLATE INSTALLATION - begin -->
|
|
28
|
+
<!-- These lines are auto-inserted from a schema_dev template -->
|
|
29
|
+
As usual:
|
|
30
|
+
|
|
31
|
+
```ruby
|
|
32
|
+
gem "schema_plus_db_default" # in a Gemfile
|
|
33
|
+
gem.add_dependency "schema_plus_db_default" # in a .gemspec
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
<!-- SCHEMA_DEV: TEMPLATE INSTALLATION - end -->
|
|
37
|
+
|
|
38
|
+
## Compatibility
|
|
39
|
+
|
|
40
|
+
SchemaPlus::DbDefault is tested on:
|
|
41
|
+
|
|
42
|
+
<!-- SCHEMA_DEV: MATRIX - begin -->
|
|
43
|
+
<!-- These lines are auto-generated by schema_dev based on schema_dev.yml -->
|
|
44
|
+
* ruby **2.1.5** with activerecord **4.2**, using **mysql2** and **postgresql**
|
|
45
|
+
|
|
46
|
+
<!-- SCHEMA_DEV: MATRIX - end -->
|
|
47
|
+
|
|
48
|
+
Sqlite3 does not support setting a column to its default value. Attempting to use `ActiveRecord::DB_DEFAULT`will raise `ActiveRecord::StatementInvalid`
|
|
49
|
+
|
|
50
|
+
## History
|
|
51
|
+
|
|
52
|
+
* 0.1.0 - Initial release extracted from schema_plus 1.x
|
|
53
|
+
|
|
54
|
+
## Development & Testing
|
|
55
|
+
|
|
56
|
+
Are you interested in contributing to SchemaPlus::DbDefault? Thanks! Please follow
|
|
57
|
+
the standard protocol: fork, feature branch, develop, push, and issue pull
|
|
58
|
+
request.
|
|
59
|
+
|
|
60
|
+
Some things to know about to help you develop and test:
|
|
61
|
+
|
|
62
|
+
<!-- SCHEMA_DEV: TEMPLATE USES SCHEMA_DEV - begin -->
|
|
63
|
+
<!-- These lines are auto-inserted from a schema_dev template -->
|
|
64
|
+
* **schema_dev**: SchemaPlus::DbDefault uses [schema_dev](https://github.com/SchemaPlus/schema_dev) to
|
|
65
|
+
facilitate running rspec tests on the matrix of ruby, activerecord, and database
|
|
66
|
+
versions that the gem supports, both locally and on
|
|
67
|
+
[travis-ci](http://travis-ci.org/SchemaPlus/schema_plus_db_default)
|
|
68
|
+
|
|
69
|
+
To to run rspec locally on the full matrix, do:
|
|
70
|
+
|
|
71
|
+
$ schema_dev bundle install
|
|
72
|
+
$ schema_dev rspec
|
|
73
|
+
|
|
74
|
+
You can also run on just one configuration at a time; For info, see `schema_dev --help` or the [schema_dev](https://github.com/SchemaPlus/schema_dev) README.
|
|
75
|
+
|
|
76
|
+
The matrix of configurations is specified in `schema_dev.yml` in
|
|
77
|
+
the project root.
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
<!-- SCHEMA_DEV: TEMPLATE USES SCHEMA_DEV - end -->
|
|
81
|
+
|
|
82
|
+
<!-- SCHEMA_DEV: TEMPLATE USES SCHEMA_PLUS_CORE - begin -->
|
|
83
|
+
<!-- These lines are auto-inserted from a schema_dev template -->
|
|
84
|
+
* **schema_plus_core**: SchemaPlus::DbDefault uses the SchemaPlus::Core API that
|
|
85
|
+
provides middleware callback stacks to make it easy to extend
|
|
86
|
+
ActiveRecord's behavior. If that API is missing something you need for
|
|
87
|
+
your contribution, please head over to
|
|
88
|
+
[schema_plus_core](https://github.com/SchemaPlus/schema_plus_core) and open
|
|
89
|
+
an issue or pull request.
|
|
90
|
+
|
|
91
|
+
<!-- SCHEMA_DEV: TEMPLATE USES SCHEMA_PLUS_CORE - end -->
|
|
92
|
+
|
|
93
|
+
<!-- SCHEMA_DEV: TEMPLATE USES SCHEMA_MONKEY - begin -->
|
|
94
|
+
<!-- These lines are auto-inserted from a schema_dev template -->
|
|
95
|
+
* **schema_monkey**: SchemaPlus::DbDefault is implemented as a
|
|
96
|
+
[schema_monkey](https://github.com/SchemaPlus/schema_monkey) client,
|
|
97
|
+
using [schema_monkey](https://github.com/SchemaPlus/schema_monkey)'s
|
|
98
|
+
convention-based protocols for extending ActiveRecord and using middleware stacks.
|
|
99
|
+
|
|
100
|
+
<!-- SCHEMA_DEV: TEMPLATE USES SCHEMA_MONKEY - end -->
|
data/Rakefile
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
module SchemaPlus::DbDefault
|
|
2
|
+
module ActiveRecord
|
|
3
|
+
module Attribute
|
|
4
|
+
|
|
5
|
+
def original_value
|
|
6
|
+
# prevent attempts to cast DB_DEFAULT to the attributes type.
|
|
7
|
+
# We want to keep it as DB_DEFAULT so that we can handle it when
|
|
8
|
+
# generating the sql.
|
|
9
|
+
return DB_DEFAULT if value_before_type_cast.equal? DB_DEFAULT
|
|
10
|
+
super
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
require 'singleton'
|
|
2
|
+
|
|
3
|
+
module SchemaPlus::DbDefault
|
|
4
|
+
class DbDefault
|
|
5
|
+
include Singleton
|
|
6
|
+
def to_s
|
|
7
|
+
'DEFAULT'
|
|
8
|
+
end
|
|
9
|
+
def quoted_id
|
|
10
|
+
self
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
DB_DEFAULT = DbDefault.instance
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
::ActiveRecord.const_set :DB_DEFAULT, SchemaPlus::DbDefault::DB_DEFAULT
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
module SchemaPlus::DbDefault
|
|
2
|
+
module Middleware
|
|
3
|
+
|
|
4
|
+
module Query
|
|
5
|
+
module Exec
|
|
6
|
+
|
|
7
|
+
module Postgresql
|
|
8
|
+
|
|
9
|
+
# Middleware to replace each ActiveRecord::DB_DEFAULT with a literal
|
|
10
|
+
# DEFAULT in the sql string, for postgresql. The underlying pg gem provides no
|
|
11
|
+
# way to bind a value that will replace $n with DEFAULT.
|
|
12
|
+
def before(env)
|
|
13
|
+
if env.binds.any?{ |col, val| val.equal? ::ActiveRecord::DB_DEFAULT}
|
|
14
|
+
j = 0
|
|
15
|
+
env.binds.each_with_index do |(col, val), i|
|
|
16
|
+
if val.equal? ::ActiveRecord::DB_DEFAULT
|
|
17
|
+
env.sql = env.sql.sub(/\$#{i+1}/, 'DEFAULT')
|
|
18
|
+
else
|
|
19
|
+
env.sql = env.sql.sub(/\$#{i+1}\b/, "$#{j+1}") if i != j
|
|
20
|
+
j += 1
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
env.binds = env.binds.reject{|col, val| val.equal? ::ActiveRecord::DB_DEFAULT}
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
end
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
require_relative 'schema_plus/db_default'
|
data/schema_dev.yml
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# coding: utf-8
|
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
+
require 'schema_plus/db_default/version'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new do |gem|
|
|
7
|
+
gem.name = "schema_plus_db_default"
|
|
8
|
+
gem.version = SchemaPlus::DbDefault::VERSION
|
|
9
|
+
gem.authors = ["ronen barzel"]
|
|
10
|
+
gem.email = ["ronen@barzel.org"]
|
|
11
|
+
gem.summary = %q{Lets you set an ActiveRecord attribute to the db column's default value}
|
|
12
|
+
gem.description = %q{Defines constant ActiveRecord::DB_DEFAULT which, when saved as an attribute's value, causes the db to set the column to its default value.}
|
|
13
|
+
gem.homepage = "https://github.com/SchemaPlus/schema_plus_db_default"
|
|
14
|
+
gem.license = "MIT"
|
|
15
|
+
|
|
16
|
+
gem.files = `git ls-files -z`.split("\x0")
|
|
17
|
+
gem.executables = gem.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
|
18
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
|
19
|
+
gem.require_paths = ["lib"]
|
|
20
|
+
|
|
21
|
+
gem.add_dependency "activerecord", "~> 4.2"
|
|
22
|
+
gem.add_dependency "schema_plus_core", "~> 0.2", ">= 0.2.1"
|
|
23
|
+
|
|
24
|
+
gem.add_development_dependency "bundler", "~> 1.7"
|
|
25
|
+
gem.add_development_dependency "rake", "~> 10.0"
|
|
26
|
+
gem.add_development_dependency "rspec", "~> 3.0"
|
|
27
|
+
gem.add_development_dependency "schema_dev", "~> 3.4"
|
|
28
|
+
gem.add_development_dependency "simplecov"
|
|
29
|
+
gem.add_development_dependency "simplecov-gem-profile"
|
|
30
|
+
end
|
data/spec/column_spec.rb
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
require 'spec_helper'
|
|
2
|
+
|
|
3
|
+
describe SchemaPlus::DbDefault do
|
|
4
|
+
|
|
5
|
+
let(:default_value) { "This is the default value" }
|
|
6
|
+
|
|
7
|
+
let(:migration) { ::ActiveRecord::Migration }
|
|
8
|
+
|
|
9
|
+
before(:each) do
|
|
10
|
+
class User < ::ActiveRecord::Base ; end
|
|
11
|
+
create_table(User, :alpha => { :default => default_value }, :beta => {})
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
context "uses db default value" do
|
|
15
|
+
|
|
16
|
+
it "when creating a record with DB_DEFAULT" do
|
|
17
|
+
User.create!(:alpha => ActiveRecord::DB_DEFAULT, :beta => "hello")
|
|
18
|
+
expect(User.last.alpha).to eq(default_value)
|
|
19
|
+
expect(User.last.beta).to eq("hello")
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
it "when updating a record with DB_DEFAULT" do
|
|
23
|
+
u = User.create!(:alpha => "hey", :beta => "hello")
|
|
24
|
+
u.reload
|
|
25
|
+
expect(u.alpha).to eq("hey")
|
|
26
|
+
expect(u.beta).to eq("hello")
|
|
27
|
+
u.update_attributes(:alpha => ActiveRecord::DB_DEFAULT, :beta => "goodbye")
|
|
28
|
+
u.reload
|
|
29
|
+
expect(u.alpha).to eq(default_value)
|
|
30
|
+
expect(u.beta).to eq("goodbye")
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
protected
|
|
36
|
+
|
|
37
|
+
def create_table(model, columns_with_options)
|
|
38
|
+
migration.suppress_messages do
|
|
39
|
+
migration.create_table model.table_name, :force => :cascade do |t|
|
|
40
|
+
columns_with_options.each_pair do |column, options|
|
|
41
|
+
t.send :string, column, options
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
model.reset_column_information
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
|
data/spec/spec_helper.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'simplecov'
|
|
2
|
+
require 'simplecov-gem-profile'
|
|
3
|
+
SimpleCov.start "gem"
|
|
4
|
+
|
|
5
|
+
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
6
|
+
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
7
|
+
|
|
8
|
+
require 'rspec'
|
|
9
|
+
require 'active_record'
|
|
10
|
+
require 'schema_plus_db_default'
|
|
11
|
+
require 'schema_dev/rspec'
|
|
12
|
+
|
|
13
|
+
SchemaDev::Rspec.setup
|
|
14
|
+
|
|
15
|
+
Dir[File.dirname(__FILE__) + "/support/**/*.rb"].each {|f| require f}
|
|
16
|
+
|
|
17
|
+
RSpec.configure do |config|
|
|
18
|
+
config.warnings = true
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
SimpleCov.command_name "[ruby#{RUBY_VERSION}-activerecord#{::ActiveRecord.version}-#{ActiveRecord::Base.connection.adapter_name}]"
|
metadata
ADDED
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: schema_plus_db_default
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.1.0
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- ronen barzel
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2015-03-22 00:00:00.000000000 Z
|
|
12
|
+
dependencies:
|
|
13
|
+
- !ruby/object:Gem::Dependency
|
|
14
|
+
name: activerecord
|
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
|
16
|
+
requirements:
|
|
17
|
+
- - "~>"
|
|
18
|
+
- !ruby/object:Gem::Version
|
|
19
|
+
version: '4.2'
|
|
20
|
+
type: :runtime
|
|
21
|
+
prerelease: false
|
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
+
requirements:
|
|
24
|
+
- - "~>"
|
|
25
|
+
- !ruby/object:Gem::Version
|
|
26
|
+
version: '4.2'
|
|
27
|
+
- !ruby/object:Gem::Dependency
|
|
28
|
+
name: schema_plus_core
|
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - "~>"
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: '0.2'
|
|
34
|
+
- - ">="
|
|
35
|
+
- !ruby/object:Gem::Version
|
|
36
|
+
version: 0.2.1
|
|
37
|
+
type: :runtime
|
|
38
|
+
prerelease: false
|
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
40
|
+
requirements:
|
|
41
|
+
- - "~>"
|
|
42
|
+
- !ruby/object:Gem::Version
|
|
43
|
+
version: '0.2'
|
|
44
|
+
- - ">="
|
|
45
|
+
- !ruby/object:Gem::Version
|
|
46
|
+
version: 0.2.1
|
|
47
|
+
- !ruby/object:Gem::Dependency
|
|
48
|
+
name: bundler
|
|
49
|
+
requirement: !ruby/object:Gem::Requirement
|
|
50
|
+
requirements:
|
|
51
|
+
- - "~>"
|
|
52
|
+
- !ruby/object:Gem::Version
|
|
53
|
+
version: '1.7'
|
|
54
|
+
type: :development
|
|
55
|
+
prerelease: false
|
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
+
requirements:
|
|
58
|
+
- - "~>"
|
|
59
|
+
- !ruby/object:Gem::Version
|
|
60
|
+
version: '1.7'
|
|
61
|
+
- !ruby/object:Gem::Dependency
|
|
62
|
+
name: rake
|
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
|
64
|
+
requirements:
|
|
65
|
+
- - "~>"
|
|
66
|
+
- !ruby/object:Gem::Version
|
|
67
|
+
version: '10.0'
|
|
68
|
+
type: :development
|
|
69
|
+
prerelease: false
|
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
71
|
+
requirements:
|
|
72
|
+
- - "~>"
|
|
73
|
+
- !ruby/object:Gem::Version
|
|
74
|
+
version: '10.0'
|
|
75
|
+
- !ruby/object:Gem::Dependency
|
|
76
|
+
name: rspec
|
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
|
78
|
+
requirements:
|
|
79
|
+
- - "~>"
|
|
80
|
+
- !ruby/object:Gem::Version
|
|
81
|
+
version: '3.0'
|
|
82
|
+
type: :development
|
|
83
|
+
prerelease: false
|
|
84
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
85
|
+
requirements:
|
|
86
|
+
- - "~>"
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: '3.0'
|
|
89
|
+
- !ruby/object:Gem::Dependency
|
|
90
|
+
name: schema_dev
|
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - "~>"
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '3.4'
|
|
96
|
+
type: :development
|
|
97
|
+
prerelease: false
|
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - "~>"
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '3.4'
|
|
103
|
+
- !ruby/object:Gem::Dependency
|
|
104
|
+
name: simplecov
|
|
105
|
+
requirement: !ruby/object:Gem::Requirement
|
|
106
|
+
requirements:
|
|
107
|
+
- - ">="
|
|
108
|
+
- !ruby/object:Gem::Version
|
|
109
|
+
version: '0'
|
|
110
|
+
type: :development
|
|
111
|
+
prerelease: false
|
|
112
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
113
|
+
requirements:
|
|
114
|
+
- - ">="
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '0'
|
|
117
|
+
- !ruby/object:Gem::Dependency
|
|
118
|
+
name: simplecov-gem-profile
|
|
119
|
+
requirement: !ruby/object:Gem::Requirement
|
|
120
|
+
requirements:
|
|
121
|
+
- - ">="
|
|
122
|
+
- !ruby/object:Gem::Version
|
|
123
|
+
version: '0'
|
|
124
|
+
type: :development
|
|
125
|
+
prerelease: false
|
|
126
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
127
|
+
requirements:
|
|
128
|
+
- - ">="
|
|
129
|
+
- !ruby/object:Gem::Version
|
|
130
|
+
version: '0'
|
|
131
|
+
description: Defines constant ActiveRecord::DB_DEFAULT which, when saved as an attribute's
|
|
132
|
+
value, causes the db to set the column to its default value.
|
|
133
|
+
email:
|
|
134
|
+
- ronen@barzel.org
|
|
135
|
+
executables: []
|
|
136
|
+
extensions: []
|
|
137
|
+
extra_rdoc_files: []
|
|
138
|
+
files:
|
|
139
|
+
- ".gitignore"
|
|
140
|
+
- ".travis.yml"
|
|
141
|
+
- Gemfile
|
|
142
|
+
- LICENSE.txt
|
|
143
|
+
- README.md
|
|
144
|
+
- Rakefile
|
|
145
|
+
- gemfiles/Gemfile.base
|
|
146
|
+
- gemfiles/activerecord-4.2/Gemfile.base
|
|
147
|
+
- gemfiles/activerecord-4.2/Gemfile.mysql2
|
|
148
|
+
- gemfiles/activerecord-4.2/Gemfile.postgresql
|
|
149
|
+
- lib/schema_plus/db_default.rb
|
|
150
|
+
- lib/schema_plus/db_default/active_record/attribute.rb
|
|
151
|
+
- lib/schema_plus/db_default/db_default.rb
|
|
152
|
+
- lib/schema_plus/db_default/middleware.rb
|
|
153
|
+
- lib/schema_plus/db_default/version.rb
|
|
154
|
+
- lib/schema_plus_db_default.rb
|
|
155
|
+
- schema_dev.yml
|
|
156
|
+
- schema_plus_db_default.gemspec
|
|
157
|
+
- spec/column_spec.rb
|
|
158
|
+
- spec/spec_helper.rb
|
|
159
|
+
homepage: https://github.com/SchemaPlus/schema_plus_db_default
|
|
160
|
+
licenses:
|
|
161
|
+
- MIT
|
|
162
|
+
metadata: {}
|
|
163
|
+
post_install_message:
|
|
164
|
+
rdoc_options: []
|
|
165
|
+
require_paths:
|
|
166
|
+
- lib
|
|
167
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
168
|
+
requirements:
|
|
169
|
+
- - ">="
|
|
170
|
+
- !ruby/object:Gem::Version
|
|
171
|
+
version: '0'
|
|
172
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
173
|
+
requirements:
|
|
174
|
+
- - ">="
|
|
175
|
+
- !ruby/object:Gem::Version
|
|
176
|
+
version: '0'
|
|
177
|
+
requirements: []
|
|
178
|
+
rubyforge_project:
|
|
179
|
+
rubygems_version: 2.2.2
|
|
180
|
+
signing_key:
|
|
181
|
+
specification_version: 4
|
|
182
|
+
summary: Lets you set an ActiveRecord attribute to the db column's default value
|
|
183
|
+
test_files:
|
|
184
|
+
- spec/column_spec.rb
|
|
185
|
+
- spec/spec_helper.rb
|