Bil
(Bil)
17 November 2008 14:21
1
Hi,
I can't find a Ruby equivalent to
find . -perm -g+rw -ls
Currently, it looks like I'll need to combine,
File.stat(file).mode
with something like Hal Fulton's sym2oct,
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/96956
hacked into Daniel Berger's file-find gem,
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/248981
and require 'etc' to pull out the user and group names instead of uids
and gids?
Is there an alternative to all this yak shaving?
Thanks,
···
--
http://twitter.com/bil_kleb
Hi,
I can't find a Ruby equivalent to
find . -perm -g+rw -ls
Currently, it looks like I'll need to combine,
File.stat(file).mode
with something like Hal Fulton's sym2oct,
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/96956
hacked into Daniel Berger's file-find gem,
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/248981
and require 'etc' to pull out the user and group names instead of uids
and gids?
Is there an alternative to all this yak shaving?
maybe something like this?
rolando:test_perm rolando$ ls -l
total 8
-rw-rw-r-- 1 rolando staff 0 Nov 17 12:12 1
-rw-r--r-- 1 rolando staff 0 Nov 17 12:13 2
-rw-r--r-- 1 rolando staff 77 Nov 17 12:21 perm.rb
rolando:test_perm rolando$ find . -perm -g+rw -ls
1510804 0 -rw-rw-r-- 1 rolando staff 0 Nov 17 12:12 ./1
rolando:test_perm rolando$ ruby perm.rb
["./1"]
rolando:test_perm rolando$ cat perm.rb
# NOTE: 060 == g+rw
p Dir["./**/*"].select { |f| File.stat(f).mode & 060 == 060 ? true : nil }
Thanks,
--
http://twitter.com/bil_kleb
regards,
···
On Nov 17, 2008, at 11:21 AM, Bil Kleb wrote:
--
Rolando Abarca M.
Bil Kleb wrote:
Hi,
I can't find a Ruby equivalent to
find . -perm -g+rw -ls
Currently, it looks like I'll need to combine,
File.stat(file).mode
with something like Hal Fulton's sym2oct,
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/96956
hacked into Daniel Berger's file-find gem,
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/248981
and require 'etc' to pull out the user and group names instead of uids
and gids?
Is there an alternative to all this yak shaving?
Not at the moment, but both are excellent ideas. I've submitted them myself at:
http://rubyforge.org/tracker/index.php?func=detail&aid=22854&group_id=735&atid=2912
http://rubyforge.org/tracker/index.php?func=detail&aid=22855&group_id=735&atid=2912
Supporting strings for users and groups is trivial. Supporting symbolic permissions will be more of a hassle.
Regards,
Dan
I just released file-find 0.2.4 which now does all your yak shaving
for you, i.e. it now supports symbolic permissions, too.
Regards,
Dan
···
On Nov 17, 7:21 am, Bil Kleb <Bil.K...@gmail.com> wrote:
Hi,
I can't find a Ruby equivalent to
find . -perm -g+rw -ls
Currently, it looks like I'll need to combine,
File.stat(file).mode
with something like Hal Fulton's sym2oct,
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/96956
hacked into Daniel Berger'sfile-findgem,
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/248981
and require 'etc' to pull out the user and group names instead of uids
and gids?
Is there an alternative to all this yak shaving?
Bil
(Bil)
17 November 2008 18:31
5
Hi,
maybe something like this?
[..]
rolando:test_perm rolando$ cat perm.rb
# NOTE: 060 == g+rw
This is what I'm reduced to doing now. It just feels wrong
for me to have to resort to octal -- it's not at the
correct abstraction level as evidenced by your comment.
p Dir["./**/*"].select {
>f> File.stat(f).mode & 060 == 060 ? true : nil }
You don't need the '? true : nil' part AFAICT -- the
first conditional satisfies select.
Regards,
···
Rolando Abarca <funkas...@gmail.com> wrote:
--
http://twitter.com/bil_kleb
Bil Kleb wrote:
Hi,
Bil Kleb wrote:
[..] Is there an alternative to all this yak shaving?
Not at the moment, but both are excellent ideas.
I've submitted them myself at:
[http://rubyforge.org/tracker/?atid=2912&group_id=735\ ]
Excellent; thanks.
I've already tested and committed the changes for the :user and :group changes. They'll be part of release 0.2.2. I should have a release out this week.
I'll save the :perm changes for 0.2.3 after I've had the chance to review some of the code I've seen online.
Regards,
Dan
···
Daniel Berger <djber...@gmail.com> wrote: