class Rugged::Settings
Public Class Methods
Settings[option] → value
click to toggle source
Gets the value of a libgit2 library option.
static VALUE rb_git_get_option(VALUE self, VALUE option)
{
const char *opt;
Check_Type(option, T_STRING);
opt = StringValueCStr(option);
if (strcmp(opt, "mwindow_size") == 0) {
size_t val;
git_libgit2_opts(GIT_OPT_GET_MWINDOW_SIZE, &val);
return SIZET2NUM(val);
}
else if (strcmp(opt, "mwindow_mapped_limit") == 0) {
size_t val;
git_libgit2_opts(GIT_OPT_GET_MWINDOW_MAPPED_LIMIT, &val);
return SIZET2NUM(val);
}
else if (strcmp(opt, "search_path_global") == 0) {
return get_search_path(GIT_CONFIG_LEVEL_GLOBAL);
}
else if (strcmp(opt, "search_path_xdg") == 0) {
return get_search_path(GIT_CONFIG_LEVEL_XDG);
}
else if (strcmp(opt, "search_path_system") == 0) {
return get_search_path(GIT_CONFIG_LEVEL_SYSTEM);
}
else {
rb_raise(rb_eArgError, "Unknown option specified");
}
}
Settings[option] = value
click to toggle source
Sets a libgit2 library option.
static VALUE rb_git_set_option(VALUE self, VALUE option, VALUE value)
{
const char *opt;
Check_Type(option, T_STRING);
opt = StringValueCStr(option);
if (strcmp(opt, "mwindow_size") == 0) {
size_t val;
Check_Type(value, T_FIXNUM);
val = NUM2SIZET(value);
git_libgit2_opts(GIT_OPT_SET_MWINDOW_SIZE, val);
}
else if (strcmp(opt, "mwindow_mapped_limit") == 0) {
size_t val;
Check_Type(value, T_FIXNUM);
val = NUM2SIZET(value);
git_libgit2_opts(GIT_OPT_SET_MWINDOW_MAPPED_LIMIT, val);
}
else if (strcmp(opt, "search_path_global") == 0) {
set_search_path(GIT_CONFIG_LEVEL_GLOBAL, value);
}
else if (strcmp(opt, "search_path_xdg") == 0) {
set_search_path(GIT_CONFIG_LEVEL_XDG, value);
}
else if (strcmp(opt, "search_path_system") == 0) {
set_search_path(GIT_CONFIG_LEVEL_SYSTEM, value);
}
else {
rb_raise(rb_eArgError, "Unknown option specified");
}
return Qnil;
}