Quick question: The etc.rb in Libs is a class, but the implementation in the Ruby Standard Library appears to be a module. Should I keep the class or use the module?
Ryan Riley On Sat, Apr 3, 2010 at 4:43 PM, Tomas Matousek <tomas.matou...@microsoft.com > wrote: > Nice work. > > > > A few suggestions: > > > > - You can move the file to C:\M0\Merlin\Main\Languages\Ruby\Libs. > > - Use System::Environment:: System::Environment.OSVersion.Platform > to detect the OS (see e.g. Win32API.rb in Libs). > > - Rather than check for the platform in every method it might be > better to define the methods differently on Windows. Something like: > > > > module Etc > > platform = System::PlatformID > > case System::Environment.OSVersion.Platform > > when platform.Win32S, platform.WinCE, platform.Win32Windows, > platform.Win32NT: > > def self.endgrent; end > > def self.endpwent; end > > def self.getgrent; end > > … > > else > > load_assembly 'Mono.Posix' > > > > def self.endgrent > > Mono::Unix::Native::Syscall.endgrent > > end > > > > def self.endpwent > > Mono::Unix::Native::Syscall.endpwent > > end > > > > def self.getgrent > > to_group(Mono::Unix::Native::Syscall.getgrent) > > > end > > > > … > > end > > end > > > > *From:* ironruby-core-boun...@rubyforge.org [mailto: > ironruby-core-boun...@rubyforge.org] *On Behalf Of *Ryan Riley > *Sent:* Saturday, April 03, 2010 3:59 PM > > *To:* ironruby-core@rubyforge.org > *Subject:* Re: [Ironruby-core] Anyone interested in implementing Etc > module for Mono? > > > > I've posted an initial "complete" implementation, though I have only done > basic testing. I have a couple of TODO's remaining and some cleanup, as well > as writing actual specs. I still don't have tests running. You can find the > module here: > http://github.com/panesofglass/ironruby/blob/linux/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/Etc/IronRuby.Libraries.Etc/etc.rb > > > > Not the prettiest thing in the world, but I just wanted to get it working. > I definitely still have work to do. > > > > Cheers, > > > Ryan Riley > > Email: ryan.ri...@panesofglass.org > LinkedIn: http://www.linkedin.com/in/ryanriley > Blog: http://wizardsofsmart.net/ > Twitter: @panesofglass > Website: http://panesofglass.org/ > > On Sat, Apr 3, 2010 at 2:30 PM, Ryan Riley <ryan.ri...@panesofglass.org> > wrote: > > Sure! > Mono::Unix::Native::Passwd<http://www.go-mono.com/docs/index.aspx?link=T:Mono.Unix.Native.Passwd>and > Mono::Unix::Native::Group<http://www.go-mono.com/docs/index.aspx?link=T:Mono.Unix.Native.Group>that > are returned from the > Mono::Unix::Native::Syscall<http://www.go-mono.com/docs/index.aspx?link=M:Mono.Posix.Syscall.getusername(System.Int32>functions > have UInt32, System.String, and System.String[]. System.String is > no biggie, and I'm finding .to_i on a System.UInt32 is still displayed as > System.UInt32, so I suppose that's not an issue, either. MRI displays Fixnum > as the type, and I was trying to get the correct types back from the > functions. That leaves MRI's Array to Mono's System.String[]. > > > > My current implementation is just a Ruby module wrapping calls to the Mono > functions and returning the appropriate types. Most of it is working, though > without being able to run tests easily, I'm testing from the command line. I > still need to add conditionals to return nil if it's run on Windows. I > suppose I also need to conditionally load the Mono.Posix.dll if it's on > Windows, too. > > > > I'm about to finish the basic implementation and post to > github<http://github.com/panesofglass/ironruby/blob/linux/Merlin/External.LCA_RESTRICTED/Languages/IronRuby/Etc/IronRuby.Libraries.Etc/etc.rb>. > (I've > already got what I finished last night up there.) I also asked Shri for a > pairing session to make sure it's inline with what you're wanting. > > > > Cheers, > > > > Ryan Riley > > Email: ryan.ri...@panesofglass.org > LinkedIn: http://www.linkedin.com/in/ryanriley > Blog: http://wizardsofsmart.net/ > Twitter: @panesofglass > Website: http://panesofglass.org/ > > On Sat, Apr 3, 2010 at 11:25 AM, Tomas Matousek < > tomas.matou...@microsoft.com> wrote: > > Can you give an example of where you need the conversions? > > > > Tomas > > > > *From:* ironruby-core-boun...@rubyforge.org [mailto: > ironruby-core-boun...@rubyforge.org] *On Behalf Of *Jim Deville > *Sent:* Saturday, April 03, 2010 11:00 AM > > > *To:* ironruby-core@rubyforge.org > > *Subject:* Re: [Ironruby-core] Anyone interested in implementing Etc > module for Mono? > > > > > No conversion for Fixnums is needed (Fixnums are ints). Arrays are harder. > I would take a look at clr_ext in merlin/main/languages/ruby/samples. Inside > that file is a to_clr_array method > > JD > ------------------------------ > > *From: *Ryan Riley <ryan.ri...@panesofglass.org> > *Sent: *Saturday, April 03, 2010 12:13 AM > *To: *ironruby-c...@rubyforge.org <ironruby-core@rubyforge.org> > *Subject: *Re: [Ironruby-core] Anyone interested in implementing Etc > module for Mono? > > Where is documentation on converting between CLR and Ruby types? I can get > RubyStrings, but what about Fixnum and Array? > > > > Thanks, > > > Ryan Riley > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core@rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > > > > > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core@rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core