sys-admin 1.5.1 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
data/CHANGES CHANGED
@@ -1,3 +1,7 @@
1
+ == 1.5.2 - 2-Aug-2009
2
+ * Now compatible with Ruby 1.9.x.
3
+ * Added test-unit as a development dependency.
4
+
1
5
  == 1.5.1 - 23-Jul-2009
2
6
  * Added the User#dir attribute. This attribute contains a user's home
3
7
  directory if set, or nil if it isn't.
data/README CHANGED
@@ -159,5 +159,3 @@ Admin::Error < StandardError
159
159
 
160
160
  == Author
161
161
  Daniel J. Berger
162
- djberg96 at nospam at gmail dot com
163
- IRC nickname: imperator/mok/rubyhacker1 (freenode)
@@ -1,6 +1,16 @@
1
1
  #include "ruby.h"
2
2
  #include "admin.h"
3
3
 
4
+ #ifndef RSTRING_PTR
5
+ #define RSTRING_PTR(v) (RSTRING(v)->ptr)
6
+ #define RSTRING_LEN(v) (RSTRING(v)->len)
7
+ #endif
8
+
9
+ #ifndef RARRAY_PTR
10
+ #define RARRAY_PTR(v) (RARRAY(v)->ptr)
11
+ #define RARRAY_LEN(v) (RARRAY(v)->len)
12
+ #endif
13
+
4
14
  /*
5
15
  * call-seq:
6
16
  * User.new
@@ -290,8 +300,8 @@ static VALUE user_groups(VALUE self){
290
300
  * the user name, we have a match.
291
301
  */
292
302
  if(!NIL_P(v_groups)){
293
- for(i = 0; i < RARRAY(v_groups)->len; i++){
294
- v_group = RARRAY(v_groups)->ptr[i];
303
+ for(i = 0; i < RARRAY_LEN(v_groups); i++){
304
+ v_group = RARRAY_PTR(v_groups)[i];
295
305
  v_users = rb_funcall(v_group, rb_intern("members"), 0, 0);
296
306
 
297
307
  if(RTEST(rb_funcall(v_users, rb_intern("include?"), 1, v_name))){
@@ -404,6 +414,6 @@ void Init_admin(){
404
414
 
405
415
  /* Constants */
406
416
 
407
- /* 1.5.1: The version of this library */
417
+ /* 1.5.2: The version of this library */
408
418
  rb_define_const(cAdmin, "VERSION", rb_str_new2(SYS_ADMIN_VERSION));
409
419
  }
@@ -8,7 +8,7 @@
8
8
  #include <errno.h>
9
9
  #include <string.h>
10
10
 
11
- #define SYS_ADMIN_VERSION "1.5.1"
11
+ #define SYS_ADMIN_VERSION "1.5.2"
12
12
 
13
13
  #if defined(__MACH__) || defined(__APPLE__)
14
14
  #define __BSD__
@@ -111,7 +111,7 @@ static VALUE get_user_by_name(VALUE v_name){
111
111
  struct passwd pwd;
112
112
  struct passwd* pwdbuf;
113
113
 
114
- if(getpwnam_r(RSTRING(v_name)->ptr, &pwd, buf, sizeof(buf), &pwdbuf) != 0)
114
+ if(getpwnam_r(RSTRING_PTR(v_name), &pwd, buf, sizeof(buf), &pwdbuf) != 0)
115
115
  rb_raise(cAdminError, "%s", strerror(errno));
116
116
 
117
117
  if(!pwdbuf)
@@ -178,7 +178,7 @@ static VALUE get_group_by_name(VALUE v_name){
178
178
  struct group grp;
179
179
  struct group* grpbuf;
180
180
 
181
- if(getgrnam_r(RSTRING(v_name)->ptr, &grp, buf, sizeof(buf), &grpbuf) != 0)
181
+ if(getgrnam_r(RSTRING_PTR(v_name), &grp, buf, sizeof(buf), &grpbuf) != 0)
182
182
  rb_raise(cAdminError, "%s", strerror(errno));
183
183
 
184
184
  if(!grpbuf)
@@ -16,6 +16,6 @@ end
16
16
 
17
17
  class TC_Sys_Admin_All < Test::Unit::TestCase
18
18
  def test_version
19
- assert_equal('1.5.1', Sys::Admin::VERSION)
19
+ assert_equal('1.5.2', Sys::Admin::VERSION)
20
20
  end
21
21
  end
@@ -262,8 +262,8 @@ class TC_Sys_Admin_Win32 < Test::Unit::TestCase
262
262
  end
263
263
 
264
264
  def test_user_dir
265
- assert_nothing_raised{ Admin.get_user(@user_name, :localaccount => true) }
266
- assert_kind_of(String, @user_name.dir)
265
+ assert_nothing_raised{ @user = Admin.get_user(@user_name, :localaccount => true) }
266
+ assert_kind_of([String, NilClass], @user.dir)
267
267
  end
268
268
 
269
269
  # Group class
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sys-admin
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.1
4
+ version: 1.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel J. Berger
@@ -9,10 +9,19 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-07-23 00:00:00 -06:00
12
+ date: 2009-08-02 00:00:00 -06:00
13
13
  default_executable:
14
- dependencies: []
15
-
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: test-unit
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 2.0.3
24
+ version:
16
25
  description: " The sys-admin library is a unified, cross platform replacement for the\n 'etc' library that ships as part of the Ruby standard library. It\n provides a common interface for all platforms, including MS Windows. In\n addition, it provides an interface for adding, deleting and configuring\n users on MS Windows.\n"
17
26
  email: djberg96@gmail.com
18
27
  executables: []
@@ -62,7 +71,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
62
71
  requirements: []
63
72
 
64
73
  rubyforge_project: sysutils
65
- rubygems_version: 1.3.4
74
+ rubygems_version: 1.3.5
66
75
  signing_key:
67
76
  specification_version: 3
68
77
  summary: A unified, cross platform replacement for the "etc" library.