keyPlusSummary - это строка, поэтому она имеет правильный тип. В чем может быть проблема - это косые черты в строке. Как и mkdir
в UNIX, Dir.mkdir
не будет создавать для вас родительские каталоги, он будет создавать только один каталог. Если ключ + summary содержит символ '/', он будет считан как многоуровневый каталог. Вам нужно либо экранировать '/', либо (лучше), использовать FileUtils.mkdir_p
, либо (лучше) выполнить очистку, чтобы заменить '' на '_', и удалить специальные символы, которые усложняют использование каталога:)
Кроме того, вашему коду не нужно иметь интерполяции, которые он делает:
#!/usr/bin/env ruby
require 'rubygems'
require 'jira4r'
require 'FileUtils'
jira = Jira4R::JiraTool.new(2, "http://jira.somejirainstance.com")
baseurl = jira.getServerInfo().baseUrl
puts "Base URL: #{baseurl}\n" #use it here!
jira.login("someUser", "somePassword")
File.new("awkOutput.txt", "r") do |file| #using the block form to ensure you close the file
while (line = file.gets)
chompline = line.chomp! #line is already a string, no need to interpolate
issue = jira.getIssue(chompline) #line is already a string, no need
keyPlusSummary = "#{issue.key}#{issue.summary}" #already interpolating, no need to add
puts keyPlusSummary
Dir.mkdir keyPlusSummary #already a string
end
end