sequel-rake 0.1.0 → 0.2.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 +4 -4
- data/.editorconfig +12 -0
- data/.rubocop.yml +14 -0
- data/Gemfile +3 -1
- data/README.md +2 -1
- data/Rakefile +8 -6
- data/lib/sequel/rake.rb +5 -4
- data/lib/sequel/rake/tasks.rake +34 -12
- data/lib/sequel/rake/version.rb +8 -0
- data/sequel-rake.gemspec +22 -18
- data/test/test_helper.rb +10 -10
- data/test/unit/rake_test.rb +2 -2
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1ccdfb23726e6677ced06b16ab6cf388b126cc24
|
4
|
+
data.tar.gz: 1f6851e683a0af6e36b48584c3b1fd7d095714a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e25f8cf8b7a37b32a7592acc6a86aac0cc456bf4e65ff62cb4e800e9f3b1c13c3a2915e9762b574a7854c3f5215d07319e9d295e714da67d71f3bf6769c6661f
|
7
|
+
data.tar.gz: 7b2ac8a1e85d194fcf3442420c3c8c49614f8b57f86cf2967c917822b8e3458de37771f39c4148db66555d842d9b8e525c5dc9e35f604fe1bf86929ec9a88a72
|
data/.editorconfig
ADDED
data/.rubocop.yml
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
Layout/MultilineMethodCallIndentation:
|
2
|
+
EnforcedStyle: indented
|
3
|
+
Layout/IndentArray:
|
4
|
+
EnforcedStyle: consistent
|
5
|
+
|
6
|
+
Style/StringLiterals:
|
7
|
+
EnforcedStyle: double_quotes
|
8
|
+
|
9
|
+
Metrics/BlockLength:
|
10
|
+
Exclude:
|
11
|
+
- '**/*.rake'
|
12
|
+
|
13
|
+
AllCops:
|
14
|
+
TargetRubyVersion: 2.3
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -27,6 +27,7 @@ Or install it yourself as:
|
|
27
27
|
# Rakefile
|
28
28
|
|
29
29
|
require 'sequel/rake'
|
30
|
+
Sequel::Rake.load!
|
30
31
|
```
|
31
32
|
|
32
33
|
```
|
@@ -52,4 +53,4 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/sandel
|
|
52
53
|
|
53
54
|
## License
|
54
55
|
|
55
|
-
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
56
|
+
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
data/Rakefile
CHANGED
@@ -1,15 +1,17 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require "bundler/gem_tasks"
|
4
|
+
require "rake/testtask"
|
3
5
|
|
4
6
|
Rake::TestTask.new do |t|
|
5
|
-
t.pattern =
|
6
|
-
t.libs.push
|
7
|
+
t.pattern = "test/**/*_test.rb"
|
8
|
+
t.libs.push "test"
|
7
9
|
end
|
8
10
|
|
9
11
|
namespace :test do
|
10
12
|
task :coverage do
|
11
|
-
ENV[
|
12
|
-
Rake::Task[
|
13
|
+
ENV["COVERAGE"] = "true"
|
14
|
+
Rake::Task["test"].invoke
|
13
15
|
end
|
14
16
|
end
|
15
17
|
|
data/lib/sequel/rake.rb
CHANGED
@@ -1,22 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require_relative "rake/version"
|
4
|
+
|
3
5
|
module Sequel
|
4
6
|
#
|
5
7
|
# @example
|
6
8
|
# Sequel::Rake.configure do
|
7
9
|
# set :connection, ENV["DATABASE_URL"]
|
8
10
|
# set :migrations, "#{__dir__}/lib/db/migrations"
|
11
|
+
# set :namespace, "db"
|
9
12
|
# end
|
10
13
|
#
|
11
14
|
module Rake
|
12
|
-
# Current version number.
|
13
|
-
VERSION = '0.1.0'
|
14
|
-
|
15
15
|
class << self
|
16
16
|
def configuration
|
17
17
|
@configuration ||= {
|
18
18
|
connection: ENV["DATABASE_URL"],
|
19
|
-
migrations: "db/migrations"
|
19
|
+
migrations: "db/migrations",
|
20
|
+
namespace: "sequel"
|
20
21
|
}
|
21
22
|
end
|
22
23
|
|
data/lib/sequel/rake/tasks.rake
CHANGED
@@ -1,19 +1,31 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
namespace Sequel::Rake.get(:namespace) do
|
2
4
|
require "sequel"
|
3
5
|
require "fileutils"
|
4
6
|
|
7
|
+
task :environment unless Rake::Task.task_defined?("sequel:environment")
|
8
|
+
|
5
9
|
desc "Creates the migrations directory"
|
6
|
-
task :
|
7
|
-
FileUtils
|
10
|
+
task init: :environment do
|
11
|
+
FileUtils.mkdir_p migrations
|
8
12
|
puts "generated: #{migrations}"
|
9
13
|
end
|
10
14
|
|
11
15
|
desc "Generate a new migration file `sequel:generate[create_books]`"
|
12
|
-
task :generate, :name do |_, args|
|
16
|
+
task :generate, [:name] => :environment do |_, args|
|
13
17
|
name = args[:name]
|
14
18
|
abort("Missing migration file name") if name.nil?
|
15
19
|
|
16
|
-
content =
|
20
|
+
content = <<~STR
|
21
|
+
# frozen_string_literal: true
|
22
|
+
|
23
|
+
Sequel.migration do
|
24
|
+
change do
|
25
|
+
end
|
26
|
+
end
|
27
|
+
STR
|
28
|
+
|
17
29
|
timestamp = Time.now.to_i
|
18
30
|
filename = File.join(migrations, "#{timestamp}_#{name}.rb")
|
19
31
|
File.write(filename, content)
|
@@ -21,19 +33,25 @@ namespace :sequel do
|
|
21
33
|
end
|
22
34
|
|
23
35
|
desc "Migrate the database (you can specify the version with `db:migrate[N]`)"
|
24
|
-
task :migrate, [:version] do |
|
36
|
+
task :migrate, [:version] => :environment do |_task, args|
|
25
37
|
version = args[:version] ? Integer(args[:version]) : nil
|
26
38
|
migrate(version)
|
27
39
|
puts "Migration complete"
|
28
40
|
end
|
29
41
|
|
30
|
-
desc "Rollback the database N steps
|
31
|
-
|
42
|
+
desc "Rollback the database N steps " \
|
43
|
+
"(you can specify the version with `db:rollback[N]`)"
|
44
|
+
task :rollback, [:step] => :environment do |_task, args|
|
32
45
|
step = args[:step] ? Integer(args[:step]) : 1
|
33
46
|
version = 0
|
34
47
|
|
35
|
-
|
36
|
-
|
48
|
+
target_migration =
|
49
|
+
connection[:schema_migrations]
|
50
|
+
.reverse_order(:filename)
|
51
|
+
.offset(step)
|
52
|
+
.first
|
53
|
+
if target_migration
|
54
|
+
version = Integer(target_migration[:filename].match(/([\d]+)/)[0])
|
37
55
|
end
|
38
56
|
|
39
57
|
migrate(version)
|
@@ -42,7 +60,7 @@ namespace :sequel do
|
|
42
60
|
end
|
43
61
|
|
44
62
|
desc "Undo all migrations and migrate again"
|
45
|
-
task :
|
63
|
+
task remigrate: :environment do
|
46
64
|
migrate(0)
|
47
65
|
migrate
|
48
66
|
puts "Remigration complete"
|
@@ -54,7 +72,11 @@ namespace :sequel do
|
|
54
72
|
end
|
55
73
|
|
56
74
|
def connection
|
57
|
-
|
75
|
+
if Sequel::Rake.get(:connection).is_a?(Sequel::Database)
|
76
|
+
Sequel::Rake.get(:connection)
|
77
|
+
else
|
78
|
+
@connection ||= Sequel.connect(Sequel::Rake.get(:connection))
|
79
|
+
end
|
58
80
|
end
|
59
81
|
|
60
82
|
def migrations
|
data/sequel-rake.gemspec
CHANGED
@@ -1,28 +1,32 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "lib/sequel/rake/version"
|
4
|
+
|
1
5
|
Gem::Specification.new do |spec|
|
2
|
-
spec.name =
|
3
|
-
spec.version =
|
4
|
-
spec.summary =
|
6
|
+
spec.name = "sequel-rake"
|
7
|
+
spec.version = Sequel::Rake::VERSION
|
8
|
+
spec.summary = "Rake tasks for the Sequel gem."
|
5
9
|
|
6
|
-
spec.required_ruby_version =
|
7
|
-
spec.required_rubygems_version =
|
10
|
+
spec.required_ruby_version = ">= 2.3.0"
|
11
|
+
spec.required_rubygems_version = ">= 2.5.0"
|
8
12
|
|
9
|
-
spec.license =
|
13
|
+
spec.license = "MIT"
|
10
14
|
|
11
|
-
spec.author =
|
12
|
-
spec.email =
|
13
|
-
spec.homepage =
|
15
|
+
spec.author = "Tobias Sandelius"
|
16
|
+
spec.email = "tobias@sandeli.use"
|
17
|
+
spec.homepage = "https://github.com/sandelius/sequel-rake"
|
14
18
|
|
15
19
|
spec.files = `git ls-files -z`.split("\x0")
|
16
20
|
spec.test_files = spec.files.grep(%r{^(test)/})
|
17
|
-
spec.require_paths = [
|
21
|
+
spec.require_paths = ["lib"]
|
18
22
|
|
19
|
-
spec.add_dependency
|
23
|
+
spec.add_dependency "thor", "~> 0.19"
|
20
24
|
|
21
|
-
spec.add_development_dependency
|
22
|
-
spec.add_development_dependency
|
23
|
-
spec.add_development_dependency
|
24
|
-
spec.add_development_dependency
|
25
|
-
spec.add_development_dependency
|
26
|
-
spec.add_development_dependency
|
27
|
-
spec.add_development_dependency
|
25
|
+
spec.add_development_dependency "sequel"
|
26
|
+
spec.add_development_dependency "pg"
|
27
|
+
spec.add_development_dependency "bundler"
|
28
|
+
spec.add_development_dependency "minitest", ">= 5.7.0"
|
29
|
+
spec.add_development_dependency "rake"
|
30
|
+
spec.add_development_dependency "simplecov"
|
31
|
+
spec.add_development_dependency "codeclimate-test-reporter"
|
28
32
|
end
|
data/test/test_helper.rb
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
ENV[
|
3
|
+
ENV["RACK_ENV"] = "test"
|
4
4
|
|
5
|
-
require
|
5
|
+
require "bundler/setup"
|
6
6
|
|
7
|
-
if ENV[
|
8
|
-
require
|
9
|
-
require
|
7
|
+
if ENV["COVERAGE"] == "true"
|
8
|
+
require "simplecov"
|
9
|
+
require "codeclimate-test-reporter"
|
10
10
|
|
11
11
|
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter.new([
|
12
12
|
SimpleCov::Formatter::HTMLFormatter,
|
@@ -14,12 +14,12 @@ if ENV['COVERAGE'] == 'true'
|
|
14
14
|
])
|
15
15
|
|
16
16
|
SimpleCov.start do
|
17
|
-
command_name
|
18
|
-
add_filter
|
17
|
+
command_name "test"
|
18
|
+
add_filter "test"
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
|
-
require
|
22
|
+
require "minitest/autorun"
|
23
23
|
|
24
|
-
$LOAD_PATH.unshift File.expand_path(
|
25
|
-
require
|
24
|
+
$LOAD_PATH.unshift File.expand_path("../lib", __dir__)
|
25
|
+
require "sequel/rake"
|
data/test/unit/rake_test.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sequel-rake
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tobias Sandelius
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -128,7 +128,9 @@ executables: []
|
|
128
128
|
extensions: []
|
129
129
|
extra_rdoc_files: []
|
130
130
|
files:
|
131
|
+
- ".editorconfig"
|
131
132
|
- ".gitignore"
|
133
|
+
- ".rubocop.yml"
|
132
134
|
- ".travis.yml"
|
133
135
|
- CODE_OF_CONDUCT.md
|
134
136
|
- Gemfile
|
@@ -137,6 +139,7 @@ files:
|
|
137
139
|
- Rakefile
|
138
140
|
- lib/sequel/rake.rb
|
139
141
|
- lib/sequel/rake/tasks.rake
|
142
|
+
- lib/sequel/rake/version.rb
|
140
143
|
- sequel-rake.gemspec
|
141
144
|
- test/test_helper.rb
|
142
145
|
- test/unit/rake_test.rb
|
@@ -160,11 +163,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
163
|
version: 2.5.0
|
161
164
|
requirements: []
|
162
165
|
rubyforge_project:
|
163
|
-
rubygems_version: 2.
|
166
|
+
rubygems_version: 2.6.11
|
164
167
|
signing_key:
|
165
168
|
specification_version: 4
|
166
169
|
summary: Rake tasks for the Sequel gem.
|
167
170
|
test_files:
|
168
171
|
- test/test_helper.rb
|
169
172
|
- test/unit/rake_test.rb
|
170
|
-
has_rdoc:
|