2014-12-05 2 views
2

104K 줄 이상의 코드가있는 외부 YAML 파일을 여는 Ruby 응용 프로그램 (가능한 경우 레일 없음)을 만들 수 있어야합니다. 그것들을 읽고 다음 세 가지를 걸러 낸다 :인터넷에서 외부 YAML 파일을 읽고 XML로 출력하는 방법

!ruby/object:EvtEvent 
!ruby/object:NwsPost 
!ruby/object:Asset 

그런 다음이 것들을 Ruby 프로그램에 의해 만들어 져야하는 XML 파일로 출력한다.

  1. 나는 내가 1 년 경험 만 중학교 수준의 개발자 나처럼,이 설정으로 시작하는 방법을 불분명입니다.

    require 'yaml' 
    require 'nokogiri' 
    
    yaml = "getOrderDetails: 
    Id: '114' 
    Name: 'XYZ'" 
    doc = YAML.load yaml 
    
    output = Nokogiri::XML::Builder.new do |xml| 
    xml.product{ 
    xml.id doc["getOrderDetails"]["Id"] 
    xml.name doc["getOrderDetails"]["Name"] 
    } 
    end 
    puts output.to_xml 
    #=> <?xml version="1.0"?> 
    #=> <product> 
    #=> <id>114</id> 
    #=> <name>XYZ</name> 
    #=> </product> 
    
  2. : 나는 노코 기리를 사용하여 코드 예제의 미리보기를 보여줍니다 스택 오버플로 뭔가를 발견하지만

  3. , 나는 어디 내 상황에 대한 수정해야이 코드를 넣어 정확히 모른다

  4. 문제의 YAML 파일을 열고 읽은 다음 XML로 출력하는 Ruby 프로그램을 시작하려면 init.rb 파일을 어떻게 코딩해야합니까?

  5. Ruby 프로그램에서이 작업을 처리하기 위해 내 lib 폴더에 어떤 다른 Ruby 파일을 넣어야합니까? 이 편리한 곳

+0

예 Tin Man, 모든 자습서 및 가이드를 사용할 수 있습니다. 나는 멘토가있는 특권을 가지고 있지 않은 주니어 (jr dev)로서 또는 고가의 부트 캠프와 코스를 마련 할 돈이있는 특권을 가지고 잠시 동안 지금과 고심하고있다. –

답변

-1
  1. 코드는 갈 수 있습니다. Ruby는 파일 위치에 대한 실제 기대가 없습니다. 방금 그들을 실행합니다. 개발팀에는 지침이있을 수 있으므로 해당 팀과 대화해야합니다.

  2. "init.rb"는 파일을 설명하지 않는 이름입니다. 스크립트의 목적을 더 잘 나타내는 것을 사용하십시오. 이 목적을 위해 제거 파일 읽기

  3. OpenURI로 쉽게 :

    foo = open('http://domain.com/path/to/file.yaml').read 
    

    는 파일의 내용을 반환하고 변수 foo에 저장됩니다. YAML의

  4. 내용물하여 쉽게 분석 될 수있다 :이 시점에서 haml

    yaml = YAML.load(foo) 
    

    배열 또는 다음 정상적으로 액세스 할 수있는 해시를 포함한다. 더 흥미로운 무엇

    OpenURI가로드되면, 그것은 이 가능 뭔가를 할 수 있도록해야 open 방법, 패치 것,이다 :

    require 'open-uri' 
    yaml = YAML.load_file('http://domain.com/path/to/file.yaml') 
    

    YAML은로드 할 파일을 열 수 있습니다 load_file이 정상적으로하는 디스크이고 OpenURI가 마법을 수행 한 후에 YAML 클래스는 그 마법을 계승해야합니다. 나는 그것을 테스트하지는 않았지만 효과가있다.

  5. Nokogiri의 Builder 인터페이스는 아마도 좋은 방법 일 것입니다.

+0

Gemfile을 Rails 앱에서 자동으로 생성되는 것과 같이 만들 필요가 있습니까? Tin Man? –