Class: RedmineExtensions::PatchManager
- Inherits:
-
Object
- Object
- RedmineExtensions::PatchManager
show all
- Defined in:
- lib/redmine_extensions/patch_manager.rb
Defined Under Namespace
Classes: EasyPatch, EasyPatchesCollection, EasyPatchesSection
Constant Summary
collapse
- PERSISTING_PATCHES =
[:force_first, :ruby, :rails, :redmine_plugins, :others]
Class Method Summary
collapse
-
.apply_easy_page_patches ⇒ Object
-
.apply_persisting_patches ⇒ Object
-
.apply_reloadable_patches ⇒ Object
-
.initialize_sections ⇒ Object
is called after EasyPatchesSection load.
-
.register_concern_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
-
.register_controller_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
-
.register_easy_page_controller(*controller_or_controllers_klass_name) ⇒ Object
-
.register_easy_page_helper(*helper_or_helpers_klass_name) ⇒ Object
-
.register_helper_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
-
.register_model_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
-
.register_other_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
-
.register_patch_to_be_first(original_klass_to_patch, patching_module, options = {}) ⇒ Object
-
.register_rails_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
-
.register_redmine_plugin_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
-
.register_ruby_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
Class Method Details
.apply_easy_page_patches ⇒ Object
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
|
# File 'lib/redmine_extensions/patch_manager.rb', line 113
def self.apply_easy_page_patches
return if @registered_easy_page_controllers.nil? || @registered_easy_page_helpers.nil?
@registered_easy_page_controllers.each do |controller_klass_name|
controller_klass = controller_klass_name.constantize
@registered_easy_page_helpers.each do |helper_klass_name|
if m = helper_klass_name.match(/\A(\S+)Helper\z/)
helper_klass_symbol = m[1]
end
controller_klass.class_eval "helper :#{helper_klass_symbol.underscore}" if helper_klass_symbol
controller_klass.class_eval "include #{helper_klass_name}"
end
end
end
|
.apply_persisting_patches ⇒ Object
129
130
131
132
133
134
135
|
# File 'lib/redmine_extensions/patch_manager.rb', line 129
def self.apply_persisting_patches
PERSISTING_PATCHES.each do |section|
@@registered_patches[section].apply_all_patches
end
true
end
|
.apply_reloadable_patches ⇒ Object
137
138
139
140
141
142
143
144
145
|
# File 'lib/redmine_extensions/patch_manager.rb', line 137
def self.apply_reloadable_patches
(@@registered_patches.keys - PERSISTING_PATCHES).each do |section|
@@registered_patches[section].apply_all_patches
end
apply_easy_page_patches
true
end
|
.initialize_sections ⇒ Object
is called after EasyPatchesSection load
.register_concern_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
77
78
79
|
# File 'lib/redmine_extensions/patch_manager.rb', line 77
def self.register_concern_patch(original_klass_to_patch, patching_module, options={})
register_patch(original_klass_to_patch, patching_module, {:section => :concerns}.merge(options))
end
|
.register_controller_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
81
82
83
|
# File 'lib/redmine_extensions/patch_manager.rb', line 81
def self.register_controller_patch(original_klass_to_patch, patching_module, options={})
register_patch(original_klass_to_patch, patching_module, {:section => :controllers}.merge(options))
end
|
.register_easy_page_controller(*controller_or_controllers_klass_name) ⇒ Object
105
106
107
108
109
110
111
|
# File 'lib/redmine_extensions/patch_manager.rb', line 105
def self.register_easy_page_controller(*controller_or_controllers_klass_name)
@registered_easy_page_controllers ||= []
controller_or_controllers_klass_name.each do |controller_klass_name|
@registered_easy_page_controllers << controller_klass_name if !@registered_easy_page_controllers.include?(controller_klass_name)
end
@registered_easy_page_controllers
end
|
.register_easy_page_helper(*helper_or_helpers_klass_name) ⇒ Object
97
98
99
100
101
102
103
|
# File 'lib/redmine_extensions/patch_manager.rb', line 97
def self.register_easy_page_helper(*helper_or_helpers_klass_name)
@registered_easy_page_helpers ||= []
helper_or_helpers_klass_name.each do |helper_klass_name|
@registered_easy_page_helpers << helper_klass_name if !@registered_easy_page_helpers.include?(helper_klass_name)
end
@registered_easy_page_helpers
end
|
.register_helper_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
85
86
87
|
# File 'lib/redmine_extensions/patch_manager.rb', line 85
def self.register_helper_patch(original_klass_to_patch, patching_module, options={})
register_patch(original_klass_to_patch, patching_module, {:section => :helpers}.merge(options))
end
|
.register_model_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
89
90
91
|
# File 'lib/redmine_extensions/patch_manager.rb', line 89
def self.register_model_patch(original_klass_to_patch, patching_module, options={})
register_patch(original_klass_to_patch, patching_module, {:section => :models}.merge(options))
end
|
.register_other_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
73
74
75
|
# File 'lib/redmine_extensions/patch_manager.rb', line 73
def self.register_other_patch(original_klass_to_patch, patching_module, options={})
register_patch(original_klass_to_patch, patching_module, {:section => :others}.merge(options))
end
|
.register_patch_to_be_first(original_klass_to_patch, patching_module, options = {}) ⇒ Object
93
94
95
|
# File 'lib/redmine_extensions/patch_manager.rb', line 93
def self.register_patch_to_be_first(original_klass_to_patch, patching_module, options={})
register_patch(original_klass_to_patch, patching_module, {:section => :force_first}.merge(options))
end
|
.register_rails_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
65
66
67
|
# File 'lib/redmine_extensions/patch_manager.rb', line 65
def self.register_rails_patch(original_klass_to_patch, patching_module, options={})
register_patch(original_klass_to_patch, patching_module, {:section => :rails}.merge(options))
end
|
.register_redmine_plugin_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
69
70
71
|
# File 'lib/redmine_extensions/patch_manager.rb', line 69
def self.register_redmine_plugin_patch(original_klass_to_patch, patching_module, options={})
register_patch(original_klass_to_patch, patching_module, {:section => :redmine_plugins}.merge(options))
end
|
.register_ruby_patch(original_klass_to_patch, patching_module, options = {}) ⇒ Object
61
62
63
|
# File 'lib/redmine_extensions/patch_manager.rb', line 61
def self.register_ruby_patch(original_klass_to_patch, patching_module, options={})
register_patch(original_klass_to_patch, patching_module, {:section => :ruby}.merge(options))
end
|