Module: VersionSorter
- Defined in:
- lib/version_sorter/version.rb,
ext/version_sorter/rb_version_sorter.c
Constant Summary collapse
- Version =
'1.1.0'
Class Method Summary collapse
Class Method Details
.rsort(list) ⇒ Object
45 46 47 48 49 50 51 |
# File 'ext/version_sorter/rb_version_sorter.c', line 45
VALUE
rb_rsort(VALUE obj, VALUE list)
{
VALUE dest = rb_sort(obj, list);
rb_ary_reverse(dest);
return dest;
}
|
.sort(list) ⇒ Object
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'ext/version_sorter/rb_version_sorter.c', line 23
VALUE
rb_sort(VALUE obj, VALUE list)
{
long len = RARRAY_LEN(list);
long i;
char **c_list = calloc(len, sizeof(char *));
VALUE rb_str, dest;
for (i = 0; i < len; i++) {
rb_str = rb_ary_entry(list, i);
c_list[i] = StringValuePtr(rb_str);
}
version_sorter_sort(c_list, len);
dest = rb_ary_new2(len);
for (i = 0; i < len; i++) {
rb_ary_store(dest, i, rb_str_new2(c_list[i]));
}
return dest;
}
|