rake_migrations 1.0.8 → 1.0.9

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
  SHA1:
3
- metadata.gz: 2b2674843e0d04ad4ed802931586a2d7b673e0b5
4
- data.tar.gz: 169f48cd05126580f22959d5e66933ec075b7e56
3
+ metadata.gz: 68011dc09f0dfa5ff07666c91b53984cd8d93a40
4
+ data.tar.gz: be401fe1911da6d7f15575000e3c071df66a191c
5
5
  SHA512:
6
- metadata.gz: e17a87999e4de49e343a12a6499700aab37d85fbd9ae5ac29f41d945a929350d3b51b011396db72cad7ca5f0b1563925bd5dfef32d720e149065ccfef7b2b51d
7
- data.tar.gz: 4988a035ce299d1e0b02931fc3d640847457e6e0a71a07ddb847999e47dd77962c6cfc09163c3b7fa04e038420016b6ba4698b1934a9718e1690c257ac27c336
6
+ metadata.gz: 001216c2a2fa11b0fdc954fb5203de242d64f3300b657883c6cba643e0ecfbc0022906280b2279e9da4d8ce0447f3e918356709e6ec21f47cf89ad7e38e6fabe
7
+ data.tar.gz: 4d736d12e2811bad71b00c79c23b7f7dcd23b653e7ce11e1e49560bfc535e6f29df629de7a0be6081b533ae6786a773db6f31c563b33f5cfbd76156c061fb11b
data/README.md CHANGED
@@ -72,13 +72,11 @@ namespace :users do
72
72
  User.update_all({role_id: 1}, {role_id: 2})
73
73
 
74
74
  # DO NOT REMOVE THIS PART
75
- RakeMigration.find_or_create_by_version(__FILE__[/\d+/])
75
+ RakeMigration.mark_complete(__FILE__)
76
76
  end
77
77
  end
78
78
  ```
79
79
 
80
- Update: If you are using Rails 4 or greater, the find_or_create_by_version has been changed to find_or_create_by(version: __FILE__[/\d+/]).
81
-
82
80
  Simply insert your code above the "DO NOT REMOVE THIS PART" line. The checklist is there to help you and the person who is code-reviewing your code to think of problems that might occur from your rake task. Afterwards you can run the rake task normally:
83
81
 
84
82
  ```ruby
@@ -6,12 +6,13 @@ module RakeMigrationsCheck
6
6
  results = client.query("select * from rake_migrations").map {|res| res["version"] }
7
7
  rake_migrations_lib = "#{`pwd`.strip}/lib/tasks/rake_migrations/*"
8
8
 
9
- rake_files = Dir[rake_migrations_lib].map do |file|
10
- if !results.include?(file[/\d+/])
9
+ rake_files = Dir[rake_migrations_lib].sort.map do |file|
10
+ rake_id = RakeMigration.version_from_path(file)
11
+ if !results.include?(rake_id)
11
12
  file = File.read(file)
12
- namespace = file[/namespace :(.*?)do/m, 1].strip
13
- task = file[/task (.*?):/m, 1]
14
- "rake #{namespace}:#{task}"
13
+ namespace = file[/namespace :?([^: ,]*)/m, 1].strip
14
+ task = file[/task :?([^ :,]*)/m, 1]
15
+ "rake #{namespace}:#{task} # #{rake_id}"
15
16
  end
16
17
  end.compact
17
18
 
@@ -25,4 +26,4 @@ module RakeMigrationsCheck
25
26
  end
26
27
  end
27
28
 
28
- RakeMigrationsCheck.check
29
+ RakeMigrationsCheck.check
@@ -4,15 +4,15 @@ module RakeMigrationsCheck
4
4
  def self.check
5
5
  client = PG.connect(host: "localhost", user: "<username>", dbname: "<database name>")
6
6
  results = client.exec("select * from rake_migrations").map {|res| res["version"] }
7
-
8
7
  rake_migrations_lib = "#{`pwd`.strip}/lib/tasks/rake_migrations/*"
9
8
 
10
- rake_files = Dir[rake_migrations_lib].map do |file|
11
- if !results.include?(file[/\d+/])
9
+ rake_files = Dir[rake_migrations_lib].sort.map do |file|
10
+ rake_id = RakeMigration.version_from_path(file)
11
+ if !results.include?(rake_id)
12
12
  file = File.read(file)
13
- namespace = file[/namespace :(.*?)do/m, 1].strip
14
- task = file[/task (.*?):/m, 1]
15
- "rake #{namespace}:#{task}"
13
+ namespace = file[/namespace :?([^: ,]*)/m, 1].strip
14
+ task = file[/task :?([^ :,]*)/m, 1]
15
+ "rake #{namespace}:#{task} # #{rake_id}"
16
16
  end
17
17
  end.compact
18
18
 
@@ -26,4 +26,4 @@ module RakeMigrationsCheck
26
26
  end
27
27
  end
28
28
 
29
- RakeMigrationsCheck.check
29
+ RakeMigrationsCheck.check
@@ -14,11 +14,7 @@ namespace :<%= file_name %> do
14
14
 
15
15
 
16
16
  # DO NOT REMOVE THIS PART
17
- <% if Rails.version.to_i < 4 -%>
18
- RakeMigration.find_or_create_by_version(__FILE__[/\d+/])
19
- <% else -%>
20
- RakeMigration.find_or_create_by(version: __FILE__[/\d+/])
21
- <% end -%>
17
+ RakeMigration.mark_complete(__FILE__)
22
18
  end
23
19
  <% end -%>
24
20
  end
@@ -1,2 +1,18 @@
1
1
  class RakeMigration < ::ActiveRecord::Base
2
- end
2
+ def self.version_from_path(path)
3
+ path.split('/').last[/\d+/]
4
+ end
5
+
6
+ def self.findcreate_by_version(rake_id)
7
+ find_or_create_by_version(rake_id)
8
+ end
9
+
10
+ def self.mark_complete(file)
11
+ rake_id = version_from_path(file)
12
+ if methods.include?(:find_or_create_by)
13
+ find_or_create_by(version: rake_id)
14
+ else
15
+ findcreate_by_version(rake_id)
16
+ end
17
+ end
18
+ end
@@ -1,3 +1,3 @@
1
1
  module RakeMigrations
2
- VERSION = "1.0.8"
3
- end
2
+ VERSION = "1.0.9"
3
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rake_migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.8
4
+ version: 1.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eyal Eizenberg
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-11-03 00:00:00.000000000 Z
11
+ date: 2018-09-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -78,7 +78,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
78
78
  version: '0'
79
79
  requirements: []
80
80
  rubyforge_project:
81
- rubygems_version: 2.2.2
81
+ rubygems_version: 2.6.14
82
82
  signing_key:
83
83
  specification_version: 4
84
84
  summary: A gem to easily keep track of rake tasks