Skip to content

Commit d5ce4fd

Browse files
Use redmine_plugin kit as loader
1 parent dc7b276 commit d5ce4fd

File tree

5 files changed

+32
-18
lines changed

5 files changed

+32
-18
lines changed

Gemfile

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# frozen_string_literal: true
2+
3+
gem 'redmine_plugin_kit'

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,9 @@ This is a fork of [redmine_wiki_lists](https://github.com/tkusukawa/redmine_wiki
2020
1. Clone this repository into `redmine/plugins/redmine_ref_issues`.
2121

2222
```shell
23-
cd redmine/plugins
24-
git clone https://github.com/alphanodes/redmine_ref_issues.git
23+
cd redmine
24+
git clone https://github.com/alphanodes/redmine_ref_issues.git plugins/redmine_ref_issues
25+
bundle install
2526
```
2627

2728
2. Restart your Redmine application server.

init.rb

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# frozen_string_literal: true
22

3-
raise "\n\033[31maredmine_ref_issues requires ruby 2.6 or newer. Please update your ruby version.\033[0m" if RUBY_VERSION < '2.6'
3+
loader = RedminePluginKit::Loader.new plugin_id: 'redmine_ref_issues'
44

55
Redmine::Plugin.register :redmine_ref_issues do
66
name 'Redmine ref_issues macro'
@@ -9,13 +9,9 @@
99
version RedmineRefIssues::VERSION
1010
url 'https://github.com/alphanodes/redmine_ref_issues'
1111
author_url 'https://alphanodes.com/'
12-
directory __dir__
1312

1413
requires_redmine version_or_higher: '4.1'
1514
end
1615

17-
if Rails.version > '6.0'
18-
ActiveSupport.on_load(:active_record) { RedmineRefIssues.setup }
19-
else
20-
Rails.configuration.to_prepare { RedmineRefIssues.setup }
21-
end
16+
RedminePluginKit::Loader.persisting { loader.load_model_hooks! }
17+
RedminePluginKit::Loader.to_prepare { RedmineRefIssues.setup! } if Rails.version < '6.0'

lib/redmine_ref_issues.rb

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,11 @@
11
# frozen_string_literal: true
22

33
module RedmineRefIssues
4-
VERSION = '1.0.1'
4+
VERSION = '1.0.2'
55

6-
class << self
7-
def setup
8-
Dir[File.join(Redmine::Plugin.find(:redmine_ref_issues).directory,
9-
'lib',
10-
'redmine_ref_issues',
11-
'wiki_macros',
12-
'**/*_macro.rb')].sort.each { |f| require f }
13-
end
6+
include RedminePluginKit::PluginBase
147

8+
class << self
159
def cast_table_field(db_table, db_field)
1610
if Redmine::Database.postgresql?
1711
"CAST(#{db_table}.#{db_field} AS TEXT)"
@@ -24,5 +18,12 @@ def additionals_help_items
2418
[{ title: 'Redmine ref_issues macro',
2519
url: 'https://github.com/AlphaNodes/redmine_ref_issues#usage' }]
2620
end
21+
22+
private
23+
24+
def setup
25+
# Macros
26+
loader.load_macros!
27+
end
2728
end
2829
end
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# frozen_string_literal: true
2+
3+
module RedmineRefIssues
4+
module Hooks
5+
class ModelHook < Redmine::Hook::Listener
6+
def after_plugins_loaded(_context = {})
7+
return if Rails.version < '6.0'
8+
9+
RedmineRefIssues.setup!
10+
end
11+
end
12+
end
13+
end

0 commit comments

Comments
 (0)