2016-03-17 107 views
0

我正在寫我的第一個ruby腳本,並且很好奇如何在腳本中引用gem。我無法事先測試代碼,因爲它通過管道從/etc/aliases中讀取電子郵件。 任何一個有紅寶石腳本建議經驗的人? P.S這麼多的錯誤,因爲沒有測試或重構Ruby腳本 - 參考寶石

示例腳本

#!/usr/bin/env ruby 
# Reading files 
mail = File.open(ARGV[0]) 
lines = [] 
mail.each_with_index do |i,line| 
    line[i] = lines.#remove leading and trailing spaces 
end 
first_line = line[1].strip 
if line[1] /^(256)/ 
    phone_number = first_line.gsub("+", "") 
else 
    phone_number = "256#{first_line.gsub(/^0+/,"")}" 
end 

message = line[2].strip 

# Sending message 
url = "http://xxxxxxxxxxx.com/api/v2/json/messages?token=XXXXXXXXXXXXXXXXXXXXXXXXXXX&to=#{phone_number}&from=XXXXXX&message=#{CGI.escape(message)}" 
5.times do |i| 
    response = HTTParty.get(url) 
    body = JSON.parse(response.body) 
    if body["status"] == "Success" 
    break 
    end 
end 

寶石的問題是CGI,Httparty和JSON解析。

回答

1

使用外部寶石可以通過調用「require」方法來完成。

因此將它們納入你的腳本,前幾行可能是這樣的:

#!/usr/bin/env ruby 
require "json" 
require "cgi" 
require "httparty" 

#rest of your code... 

我假設你有gem install <gemname>安裝你的寶石?

+0

Ruby中沒有'require'關鍵字,因爲您可以通過檢查[關鍵字列表](https://github.com/ruby/ruby/blob/trunk/doc/keywords.rdoc)輕鬆查看。 –

+0

我的不好,這實際上是一種方法。我將編輯我的帖子。 – HerrSubset