redmine_plugins_helper 0.13.0 → 0.13.2
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 68ddbe5f5a9e060a5df5c5fc027edb7afe1b614c59074d65dd0206d2672771f1
|
4
|
+
data.tar.gz: 81b45849cd58e9f8f0c7a752494f67a9c422000a3de350f64008951328851c40
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8c75dfd3760e1ec4fcebaf04a5d63359fffd6e0c112189e686f1e4ebf92c3d6aa3a9821993519e65f5a40ddfabb5bd4be6d845853fce4bf9ec33a507e772e2b5
|
7
|
+
data.tar.gz: 0fce8c11427cb24137480cea24f1121c5c71b2b6e5dcfe20831ebf397a90c22abe74ed06d3e8dced02568429df3611f8991b204d11901a7856a6d0dd20fc460c
|
@@ -1,12 +1,10 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'eac_ruby_utils/core_ext'
|
4
|
+
|
3
5
|
module RedminePluginsHelper
|
4
6
|
class Migrate
|
5
|
-
|
6
|
-
|
7
|
-
def initialize(plugin_name, migration_version)
|
8
|
-
@plugin_name = plugin_name
|
9
|
-
@migration_version = migration_version
|
7
|
+
common_constructor :plugin_name, :migration_version do
|
10
8
|
run
|
11
9
|
end
|
12
10
|
|
@@ -21,41 +19,21 @@ module RedminePluginsHelper
|
|
21
19
|
end
|
22
20
|
|
23
21
|
def run_all
|
24
|
-
versions_sorted.each
|
25
|
-
migrate_plugin_version(v)
|
26
|
-
end
|
22
|
+
versions_sorted.each(&:apply)
|
27
23
|
end
|
28
24
|
|
29
25
|
def run_version
|
30
26
|
::Redmine::Plugin.migrate(plugin_name, migration_version)
|
31
27
|
end
|
32
28
|
|
33
|
-
|
34
|
-
return if migrated?(version)
|
35
|
-
|
36
|
-
::Redmine::Plugin.registered_plugins[version[:plugin]].migrate(version[:timestamp])
|
37
|
-
end
|
38
|
-
|
29
|
+
# @return [Enumerable<RedminePluginsHelper::Migration>]
|
39
30
|
def versions_sorted
|
40
|
-
versions.
|
31
|
+
versions.sort
|
41
32
|
end
|
42
33
|
|
34
|
+
# @return [Enumerable<RedminePluginsHelper::Migration>]
|
43
35
|
def versions
|
44
|
-
|
45
|
-
::RedminePluginsHelper::Migrations.local_versions.each do |plugin, ts|
|
46
|
-
ts.each { |t| r << { plugin: plugin, timestamp: t } }
|
47
|
-
end
|
48
|
-
r
|
49
|
-
end
|
50
|
-
|
51
|
-
def migrated?(version)
|
52
|
-
return false unless db_versions.key?(version[:plugin])
|
53
|
-
|
54
|
-
db_versions[version[:plugin]].include?(version[:timestamp])
|
55
|
-
end
|
56
|
-
|
57
|
-
def db_versions
|
58
|
-
@db_versions ||= ::RedminePluginsHelper::Migrations.db_versions
|
36
|
+
::RedminePluginsHelper::Migration.from_code.select(&:plugin?)
|
59
37
|
end
|
60
38
|
end
|
61
39
|
end
|
@@ -10,6 +10,19 @@ module RedminePluginsHelper
|
|
10
10
|
self.plugin_id = plugin_id.to_sym
|
11
11
|
self.version = version.to_i
|
12
12
|
end
|
13
|
+
compare_by :version, :plugin_id
|
14
|
+
|
15
|
+
# @return [void]
|
16
|
+
def apply
|
17
|
+
return if applied?
|
18
|
+
|
19
|
+
nyi unless plugin?
|
20
|
+
|
21
|
+
::Redmine::Plugin::Migrator.current_plugin = plugin
|
22
|
+
::Redmine::Plugin::MigrationContext.new(plugin.migration_directory).up do |m|
|
23
|
+
m.version == version
|
24
|
+
end
|
25
|
+
end
|
13
26
|
|
14
27
|
# @return [Boolean]
|
15
28
|
def applied?
|
@@ -27,6 +40,11 @@ module RedminePluginsHelper
|
|
27
40
|
plugin_id == PLUGIN_ID_CORE_VALUE
|
28
41
|
end
|
29
42
|
|
43
|
+
# @return [Redmine::Plugin]
|
44
|
+
def plugin
|
45
|
+
plugin? ? ::Redmine::Plugin.find(plugin_id) : nil
|
46
|
+
end
|
47
|
+
|
30
48
|
# @return [Boolean]
|
31
49
|
def plugin?
|
32
50
|
!core?
|
@@ -10,7 +10,6 @@ module RedminePluginsHelper
|
|
10
10
|
|
11
11
|
included do
|
12
12
|
extend ClassMethods
|
13
|
-
include InstanceMethods
|
14
13
|
include ::RedminePluginsHelper::Patches::Redmine::PluginPatch::Assets
|
15
14
|
prepend ::RedminePluginsHelper::Patches::Redmine::PluginPatch::Dependencies
|
16
15
|
include ::RedminePluginsHelper::Patches::Redmine::PluginPatch::Initializers
|
@@ -40,6 +39,8 @@ module RedminePluginsHelper
|
|
40
39
|
plugin.instance_eval(&block)
|
41
40
|
end
|
42
41
|
end
|
42
|
+
|
43
|
+
require_sub __FILE__
|
43
44
|
end
|
44
45
|
end
|
45
46
|
end
|
metadata
CHANGED
@@ -1,29 +1,35 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: redmine_plugins_helper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.13.
|
4
|
+
version: 0.13.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- 0.13.
|
7
|
+
- 0.13.2
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bigdecimal
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.4'
|
20
|
+
- - ">="
|
18
21
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
22
|
+
version: 1.4.4
|
20
23
|
type: :runtime
|
21
24
|
prerelease: false
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
23
26
|
requirements:
|
24
|
-
- - "
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.4'
|
30
|
+
- - ">="
|
25
31
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
32
|
+
version: 1.4.4
|
27
33
|
- !ruby/object:Gem::Dependency
|
28
34
|
name: eac_ruby_utils
|
29
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -48,16 +54,22 @@ dependencies:
|
|
48
54
|
name: launchy
|
49
55
|
requirement: !ruby/object:Gem::Requirement
|
50
56
|
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '2.5'
|
51
60
|
- - ">="
|
52
61
|
- !ruby/object:Gem::Version
|
53
|
-
version:
|
62
|
+
version: 2.5.2
|
54
63
|
type: :runtime
|
55
64
|
prerelease: false
|
56
65
|
version_requirements: !ruby/object:Gem::Requirement
|
57
66
|
requirements:
|
67
|
+
- - "~>"
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '2.5'
|
58
70
|
- - ">="
|
59
71
|
- !ruby/object:Gem::Version
|
60
|
-
version:
|
72
|
+
version: 2.5.2
|
61
73
|
- !ruby/object:Gem::Dependency
|
62
74
|
name: rspec-rails
|
63
75
|
requirement: !ruby/object:Gem::Requirement
|