[#394281] Can someone throw me a bone — Bob Baird <lists@...>

Hi all,

14 messages 2012/04/02

[#394311] using hash as database? Secure databases with ruby? — ruby rocks <lists@...>

I am new to programming and am learning ruby as my first language. I

16 messages 2012/04/03
[#394315] Re: using hash as database? Secure databases with ruby? — Hassan Schroeder <hassan.schroeder@...> 2012/04/03

On Tue, Apr 3, 2012 at 10:30 AM, ruby rocks <lists@ruby-forum.com> wrote:

[#394318] Re: using hash as database? Secure databases with ruby? — ruby rocks <lists@...> 2012/04/03

Hassan Schroeder wrote in post #1054862:

[#394320] Re: using hash as database? Secure databases with ruby? — Florian Gilcher <flo@...> 2012/04/03

[#394321] Re: using hash as database? Secure databases with ruby? — ruby rocks <lists@...> 2012/04/03

Florian Gilcher wrote in post #1054875:

[#394375] Call for comments - Structure — Hal Fulton <rubyhacker@...>

Greetings, fellow Rubyists...

14 messages 2012/04/04

[#394390] Design pattern question — James French <James.French@...>

Hi group,

15 messages 2012/04/05

[#394471] How to pull out specific part of a variable and set to another variable? — "Charlie B." <lists@...>

I have a variable that is a long string. The variable looks like this:

9 messages 2012/04/09

[#394492] New to Ruby, tutorial gives wrong example. — Roger McDonald <lists@...>

I am just starting with Ruby with intention to learn and perhaps use it

11 messages 2012/04/10

[#394533] A Beginner's Question about Metaprogramming — Phil Stone <lists@...>

Hey guys, have a question about Ruby programming and found this forum

20 messages 2012/04/10

[#394616] How to test if array element exists? — Soul Surf <lists@...>

I'm new to Ruby and just want to test if an array element exists. Here's

11 messages 2012/04/13

[#394642] how to avoid escaping special chars after backslah in string — Lucky Nl <lists@...>

Hi friends,

13 messages 2012/04/13
[#394645] Re: how to avoid escaping special chars after backslah in string — Roger Pack <lists@...> 2012/04/13

so what's your ideal syntax here?

[#394658] Why doesn't Fixnum#to_d exist? — Mark Campbell <nitrodist@...>

http://stdlib.rubyonrails.org/libdoc/bigdecimal/rdoc/index.html

15 messages 2012/04/13
[#394660] Re: Why doesn't Fixnum#to_d exist? — Bartosz Dziewoński <matma.rex@...> 2012/04/13

It does exist, but it's in a separate file - bigdecimal/util or utils,

[#394663] Re: Why doesn't Fixnum#to_d exist? — Mark Campbell <nitrodist@...> 2012/04/13

Yes, that file has the String#to_d, Float#to_d and Rational#to_d.

[#394675] Operator overloading of the subscript operator — Ralph Shnelvar <ralphs@...32.com>

I understand that operators (e.g. +, -, *, []) are nothing more than method names so that

16 messages 2012/04/14
[#394677] Re: Operator overloading of the subscript operator — "Jan E." <lists@...> 2012/04/14

Hi,

[#394678] Re: Operator overloading of the subscript operator — Ralph Shnelvar <ralphs@...32.com> 2012/04/14

Jan,

[#394767] Capital Cyrillic letter in Ruby class name (UTF-8) — Vladimir Kerimov <lists@...>

Hi matz,

22 messages 2012/04/17

[#394803] Why must I know whether I extend a class or a module? — Marc Heiler <lists@...>

Hi.

18 messages 2012/04/18
[#394843] Re: Why must I know whether I extend a class or a module? — Intransition <transfire@...> 2012/04/19

On Wednesday, April 18, 2012 1:13:17 PM UTC-4, Marc Heiler wrote:

[#394853] How can i make the colorful font with black background for puts? — gmspro gmspro <lists@...>

puts 'Hello World."

10 messages 2012/04/19

[#394865] finding duplicates in an array and its index number — newto ruby <lists@...>

Hi,

11 messages 2012/04/19

[#394964] To developers of Ruby: Feeble documentation - weakness of Ruby and the Ruby on Rails (2nd edition) — Sergey Ezhov <lists@...>

RGlyZWN0bHkgSSBhcG9sb2dpemUgZm9yIG15IEVuZ2xpc2ggLSBJIHVzZWQg

13 messages 2012/04/23
[#394971] Re: To developers of Ruby: Feeble documentation - weakness of Ruby and the Ruby on Rails (2nd editio — Brian Candler <lists@...> 2012/04/23

I think you are a bit confused.

[#394969] gem-packed script with DATA section does not work — Wybo Dekker <wybo@...4all.nl>

The attached minimal gem contains a script that reads "Hello World!"

20 messages 2012/04/23
[#394970] Re: gem-packed script with DATA section does not work — Xavier Noria <fxn@...> 2012/04/23

DATA points to the contents after the __END__ directive of the executable

[#394973] Re: gem-packed script with DATA section does not work — Wybo Dekker <wybo@...4all.nl> 2012/04/23

On 2012-04-23 11:39, Xavier Noria wrote:

[#394988] Re: gem-packed script with DATA section does not work — Ryan Davis <ryand-ruby@...> 2012/04/23

[#394997] Re: gem-packed script with DATA section does not work — Peter Zotov <whitequark@...> 2012/04/23

Ryan Davis писал 23.04.2012 22:58:

[#395024] -BEGINNERS- Where do I Start? — "Thought M." <lists@...>

Hello World....... I am very new to code but have been glancing at it

13 messages 2012/04/25

[#395035] if if if statment — fox foxmaster <lists@...>

Hi all,

19 messages 2012/04/25

[#395085] Wrappng up my Text Game! Need Help! — Jared Hobbs <lists@...>

Hi, everyone. This is my first post!

18 messages 2012/04/26

[#395099] ruby/shoes GUI - sqlite, how to isert a variable key in table? — "Danilo L." <lists@...>

Hello, I am struggling to insert a variable into a table, for example:

17 messages 2012/04/27
[#395104] Re: ruby/shoes GUI - sqlite, how to isert a variable key in table? — Zachary Scott <zachary@...> 2012/04/27

Hi Danilo, How are you enjoying shoooes?

[#395105] Re: ruby/shoes GUI - sqlite, how to isert a variable key in table? — Michel <michel.revesche@...> 2012/04/27

[#395113] why does this return 255 bits instead of 256 (and general bit byte hex string array crypt mayhem :P) — instance_variable ok <lists@...>

So I am doing something that requires me to manipulate things on the bit

14 messages 2012/04/27

[#395193] delete character from array — Ok Ok <lists@...>

Here is my question...

17 messages 2012/04/30
[#395196] Re: delete character from array — Ok Ok <lists@...> 2012/04/30

Yes that was exactly it. I have one more question maybe you can help me

Help with Classes and XML

From: "Brad A." <lists@...>
Date: 2012-04-13 19:30:54 UTC
List: ruby-talk #394652
I am still fairly new to Ruby and definitely new to OOP. In the past I
created a procedural PHP script to parse an XML file, and then download
the sources identified in the xml.
Now, I am trying to redo this in Ruby and toying with doing this with
classes for my own edification. After some effort I was able to parse
the XML with REXML, though I had to
create 2 classes to represent the XML. Is there another way to capture
the XML in a single class or should I nest the classes? Also, generally
speaking is OOP the right approach for this?

Any advice or suggestions would be greatly appreciated.

Brad

Here is what I have so far.

-->manifest/XML file read into ARGV
<Package>
  <Expiration>3/23/2012 5:00:00 PM</Expiration>
  <Email>user@email.com</Email>
  <PackageID>875bbfd0-25d6-441d-9772-7e0228785076</PackageID>
  <Source>
      <URL>ftp://ftp.ftpserver.com/Media/12-0000/</URL>
      <UserName>user</UserName>
      <Password>pass</Password>
      <LPath>/Media/12-0000/</LPath>
      <FileName>file1.mov</FileName>
  </Source>
  <Source>
      <URL>ftp://ftp.archiveserver.com/Media/11-0000/</URL>
      <UserName>user1</UserName>
      <Password>pass1</Password>
      <LPath>/Media/11-0000/</LPath>
      <FileName>file2.pdf</FileName>
  </Source>
</Package>


-->manifest_id_class.rb
#This class gets the unique elements of each manifest
class ManifestID
    attr_reader :expiration, :email, :packageid

    def initialize(expiration, email, packageid)
        @expiration = expiration
        @email = email
        @packageid = packageid
    end
end


--source_class.rb
#This class gets the recurring elements "sources" of each manifest
class Source
    attr_accessor :source_url, :source_username, :source_password,
:source_lpath, :source_filename

    def initialize(source_url, source_username, source_password,
source_lpath, source_filename)
        @source_url = source_url
        @source_username = source_username
        @source_password = source_password
        @source_lpath = source_lpath
        @source_filename = source_filename
   end
end


--XMLReader.rb
require "/path/to/manifest_id_class.rb"
require "/path/to/source_class.rb"
require 'rexml/document'
include REXML

class ManifestReader

    def initialize
        @manifest_guid = []
        @manifest_sources = []
    end

    def parse_manifest(manifest_file)
        sourcepackage = (Document.new File.new(manifest_file)).root

        expiration = sourcepackage.elements["Expiration"].text
        email = sourcepackage.elements["Email"].text
        packageid = sourcepackage.elements["PackageID"].text

        @manifest_guid << ManifestID.new(expiration, email, webservice,
packageid)

        sources = sourcepackage.elements.to_a("Source")
        sources.each do |source|
            source_url = source.elements["URL"].text.strip
            source_username = source.elements["UserName"].text.strip
            source_password = source.elements["Password"].text.strip
            source_lsource.path = source.elements["LPath"].text.strip
            source_filename = source.elements["FileName"].text.strip

            @manifest_sources << source.new(source_url, source_username,
source_password, source_lpath, source_filename)
        end
    end

    def manifest_properties
        @manifest_guid.each do |x|
             puts x.email
             puts x.packageid
             puts x.expiration
         end
    end

    def manifest_sources
        @manifest_sources.each do |x|
            puts x.source_url
        end
    end
end


-->process_manifest.rb
require "/path/to/XMLReader.rb"

reader = ManifestReader.new

ARGV.each do |manifest_file|
    STDERR.puts "Processing #{manifest_file}"
    reader.parse_manifest(manifest_file)
end
reader.manifest_properties
reader.manifest_reels
#create ftp routine with reader output

-- 
Posted via http://www.ruby-forum.com/.

In This Thread

Prev Next