match.nil? -> match?

This commit is contained in:
Karel Pičman 2023-05-23 09:04:32 +02:00
parent b5eb87fde0
commit a22081a34f
3 changed files with 39 additions and 5 deletions

View File

@ -121,9 +121,9 @@ class DmsfLinksController < ApplicationController
end
else
# Link to
@dmsf_link.dmsf_folder_id = if DmsfLinksHelper.number?(params[:dmsf_link][:target_folder_id])
params[:dmsf_link][:target_folder_id].to_i
end
if DmsfLinksHelper.number?(params[:dmsf_link][:target_folder_id])
@dmsf_link.dmsf_folder_id = params[:dmsf_link][:target_folder_id].to_i
end
if params[:dmsf_link][:target_project_id].present?
@dmsf_link.project_id = params[:dmsf_link][:target_project_id]
else

View File

@ -32,12 +32,12 @@ module DmsfLinksHelper
# An integer test
def self.number?(str)
str.to_s.match(/\A[+-]?\d+?(\.\d+)?\Z/).nil?
str&.match?(/\A\d+\Z/)
end
def files_for_select(project_id, folder_id)
files = []
if folder_id && DmsfLinksHelper.number?(folder_id)
if DmsfLinksHelper.number?(folder_id)
folder = DmsfFolder.find_by(id: folder_id)
files = folder.dmsf_files.visible.to_a if folder
elsif project_id

View File

@ -0,0 +1,34 @@
# frozen_string_literal: true
#
# Redmine plugin for Document Management System "Features"
#
# Copyright © 2011-23 Karel Pičman <karel.picman@kontron.com>
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require File.expand_path('../../test_helper', __FILE__)
# Links helper
class DmsfLinksHelperTest < RedmineDmsf::Test::HelperTest
include DmsfLinksHelper
def test_number
assert DmsfLinksHelper.number?('123')
assert_not DmsfLinksHelper.number?('-123')
assert_not DmsfLinksHelper.number?('12.3')
assert_not DmsfLinksHelper.number?('123a')
assert_not DmsfLinksHelper.number?(nil)
end
end