Class: JsonScanner::Options

Inherits:
Object
  • Object
show all
Defined in:
ext/json_scanner/json_scanner.c

Instance Method Summary collapse

Constructor Details

#initialize(*args) ⇒ Object



811
812
813
814
815
816
817
818
819
820
821
822
823
# File 'ext/json_scanner/json_scanner.c', line 811

static VALUE options_m_initialize(int argc, VALUE *argv, VALUE self)
{
  VALUE kwargs;
  scan_options *options;
  TypedData_Get_Struct(self, scan_options, &options_type, options);
#if RUBY_API_VERSION_MAJOR > 2 || (RUBY_API_VERSION_MAJOR == 2 && RUBY_API_VERSION_MINOR >= 7)
  rb_scan_args_kw(RB_SCAN_ARGS_LAST_HASH_KEYWORDS, argc, argv, "0:", &kwargs);
#else
  rb_scan_args(argc, argv, "0:", &kwargs);
#endif
  scan_options_init(options, kwargs);
  return self;
}

Instance Method Details

#inspectObject



825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
# File 'ext/json_scanner/json_scanner.c', line 825

static VALUE options_m_inspect(VALUE self)
{
  VALUE res;
  scan_options *options;
  TypedData_Get_Struct(self, scan_options, &options_type, options);
  res = rb_sprintf("#<%" PRIsVALUE " {", rb_class_name(CLASS_OF(self)));
  if (SCAN_OPTION_IS_SET(options, with_path))
    rb_str_catf(res, "with_path: %s, ", SCAN_OPTION(options, with_path) ? "true" : "false");
  if (SCAN_OPTION_IS_SET(options, verbose_error))
    rb_str_catf(res, "verbose_error: %s, ", SCAN_OPTION(options, verbose_error) ? "true" : "false");
  if (SCAN_OPTION_IS_SET(options, allow_comments))
    rb_str_catf(res, "allow_comments: %s, ", SCAN_OPTION(options, allow_comments) ? "true" : "false");
  if (SCAN_OPTION_IS_SET(options, dont_validate_strings))
    rb_str_catf(res, "dont_validate_strings: %s, ", SCAN_OPTION(options, dont_validate_strings) ? "true" : "false");
  if (SCAN_OPTION_IS_SET(options, allow_trailing_garbage))
    rb_str_catf(res, "allow_trailing_garbage: %s, ", SCAN_OPTION(options, allow_trailing_garbage) ? "true" : "false");
  if (SCAN_OPTION_IS_SET(options, allow_multiple_values))
    rb_str_catf(res, "allow_multiple_values: %s, ", SCAN_OPTION(options, allow_multiple_values) ? "true" : "false");
  if (SCAN_OPTION_IS_SET(options, allow_partial_values))
    rb_str_catf(res, "allow_partial_values: %s, ", SCAN_OPTION(options, allow_partial_values) ? "true" : "false");
  if (SCAN_OPTION_IS_SET(options, symbolize_path_keys))
    rb_str_catf(res, "symbolize_path_keys: %s, ", SCAN_OPTION(options, symbolize_path_keys) ? "true" : "false");
  if (SCAN_OPTION_IS_SET(options, with_roots_info))
    rb_str_catf(res, "with_roots_info: %s, ", SCAN_OPTION(options, with_roots_info) ? "true" : "false");
  if (RSTRING_END(res)[-1] == ' ')
    rb_str_resize(res, RSTRING_LEN(res) - 2);
  rb_str_buf_cat_ascii(res, "}>");
  return res;
}