+++ /dev/null
-module RedminePublications
- # Patches Redmine's Issues dynamically. Adds a +after_save+ filter.
-
- module ChangePatch
- def self.included(base) # :nodoc:
- base.extend(ClassMethods)
-
- base.send(:include, InstanceMethods)
-
- # Same as typing in the class
- base.class_eval do
- unloadable # Send unloadable so it will not be unloaded in development
- after_save :update_publication
- end
-
- end
-
- module ClassMethods
- end
-
- module InstanceMethods
-
- def update_publication
- if self.action == 'A'
- regexp = Regexp.new(Setting.plugin_redmine_publications[:pattern])
- match = self.path.match(regexp)
- Rails.logger.info('[INFO] Adding publication: "' << match[1])
- Publication.find_or_create_by_name(:name => match[1],
- :source_file => self.path, :repository_id => self.changeset.repository.id )
- end
- end
-
- end
-
- end
-
-
-end