- regexp = Regexp.new(Setting.plugin_redmine_publications[:pattern])
- Repository.all.each do |repo|
- repo_status = []
- repo.entries.each do |entry|
- match = entry.path.match(regexp)
- if match
- Publication.find_or_create_by_name(:name => match[1],
- :source_file => entry.path, :repository_id => repo.id)
- repo_status += [{:path => entry.path, :match => match[1], :matched => true}]
- else
- repo_status += [{:path => entry.path, :match =>nil, :matched => false}]
- end
- end
- @match_status += [{:repo => repo, :status => repo_status}]
- end
+ regexp = Regexp.new(Setting.plugin_redmine_publications[:pattern])
+ Publication.delete_all()
+ repos = Repository.all
+ if repos
+ repos.each do |repo|
+ repo_status = []
+ if repo.entries
+ repo.entries.each do |entry|
+ match = entry.path.match(regexp)
+ if match
+ Publication.find_or_create_by_name(:name => match[1],
+ :source_file => entry.path, :repository_id => repo.id)
+ repo_status += [{:path => entry.path, :match => match[1], :matched => true}]
+ else
+ repo_status += [{:path => entry.path, :match =>nil, :matched => false}]
+ end
+ end
+ @match_status += [{:repo => repo, :status => repo_status}]
+ end
+ end