Mac Automator (OS 10.7) nie czyta Ruby 1.9.3?

Mam kod Ruby w pliku .rb, który próbuję uruchomić z Automatorem w przeciwieństwie do wiersza poleceń. Oto przykład kodu (nazwa pliku to „filelines_revise.rb”):

lines = IO.readlines('filelines_before_CAP.txt').map do |line|

  array = line.split.each { |i| i.capitalize! }

  if array.include?("Ws")
    array.delete("Ws")
    array[-1,0] = "Ws"
  end

  if array.include?("Es")
    array.delete("Es")
    array[-1,0] = "Es"
  end

  array_2 = array.join(" ")

  array_2.gsub(/ Ws /, ", west side")
         .gsub(/ ES /, ", east side")
end

File.open('filelines_after_CAP.txt', 'w') do |file|
  file.puts lines
end

Po uruchomieniu tego kodu za pomocą polecenia linii poleceń „ruby /Desktop/filelines_revise/filelines_revise.rb” kod działa poprawnie. Znajduje oryginalny plik .txt, odczytuje każdy wiersz, zmienia plik zgodnie z dyktatem kodu, a następnie tworzy nowy plik ze zmienionymi wierszami.

Kiedy próbuję umieścić to w Automatorze jako Workflow lub App, umieściłem Run Flow Script w moim przepływie, używając / bin / bash z wejściem Pass: do stdin, a następnie polecenie „ruby / Desktop / filelines_revise / filelines_revise. rb ”. Gdy idę uruchomić skrypt, pojawia się komunikat o błędzie:

Desktop / filelines_revise / filelines_revise.rb: 18 błąd składniowy, nieoczekiwany „.”, Oczekujący Kend

Linia 18 to 2. gsub ".gsub (/ ES /,", strona wschodnia ")" wymieniona w powyższym kodzie.

Czy to możliwe, że Automator nie używa mojego Ruby 1.9.3 tak, jak robi to wiersz poleceń? Może powinienem o tym mówić inaczej? Z góry dziękuję.

questionAnswers(1)

yourAnswerToTheQuestion