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 if (strcmp(opt, "strict_object_creation") == 0) { int strict = RTEST(value) ? 1 : 0; git_libgit2_opts(GIT_OPT_ENABLE_STRICT_OBJECT_CREATION, strict); } else if (strcmp(opt, "fsync_gitdir") == 0) { int fsync = RTEST(value) ? 1 : 0; git_libgit2_opts(GIT_OPT_ENABLE_FSYNC_GITDIR, fsync); } else { rb_raise(rb_eArgError, "Unknown option specified"); } return Qnil; }
Rugged::Settings.max_cache_size → max cache size
click to toggle source
Returns the maximum amount of memory the cache will consume.
static VALUE rb_git_get_max_cache_size(VALUE mod) { size_t val; size_t max; git_libgit2_opts(GIT_OPT_GET_CACHED_MEMORY, &val, &max); return SIZET2NUM(max); }
Rugged::Settings.used_cache_size → used cache size
click to toggle source
Returns the amount of memory the cache is currently consuming.
static VALUE rb_git_get_used_cache_size(VALUE mod) { size_t val; size_t max; git_libgit2_opts(GIT_OPT_GET_CACHED_MEMORY, &val, &max); return SIZET2NUM(val); }