sys-admin 1.5.1 → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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.