2014-09-01 10 views
6

Próbuję użyć opcji ruby, aby przetworzyć argumenty do mojego skryptu ruby. Problemem jest to, kiedy używam skryptu takiego Bundler Exec rubin generation.rb --help Dostaję błąd „niezainicjowany stała OpenStruct (NameError)”Błąd Ruby - niezainicjowana stała OpenStruct (NameError)

wierzę ponieważ używam skryptu za pomocą wiązki exec I nie powinien otrzymywać tego błędu. Co ja robię źle.

require 'optparse' 

    def parse(args) 

     options = OpenStruct.new 
     options.dir = '../somerepo' 
     opts = OptionParser.new do |opts| 
      opts.banner = "Usage: generation.rb [options]" 
      opts.separator "" 
      opts.separator "Options:" 


      opts.on("--temp c_name", "abcddd") { |abc| 
       options.temp = abc 
      } 


      opts.separator "" 
      opts.on_tail("-h", "--help", "Show this message") { 
       puts opts 
       exit 
      } 

      opts.parse!(args) 
      return options 

     end 
    end 


    inputOpts = parse(ARGV) 

Odpowiedz

8

Należy wymagać OpenStruct źródło ręcznie:

require 'ostruct' 
+0

Bardzo dziękuję, że pracował. – user1788294

Powiązane problemy