Class: Appsignal::Extension::Data

Inherits:
Object
  • Object
show all
Defined in:
lib/appsignal/extension.rb,
ext/appsignal_extension.c

Instance Method Summary collapse

Instance Method Details

#==(other) ⇒ Object

Data equality



477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
# File 'ext/appsignal_extension.c', line 477

static VALUE data_equal(VALUE self, VALUE other) {
  appsignal_data_t* data;
  appsignal_data_t* other_data;

  if (TYPE(other) != RUBY_T_DATA) {
    return Qfalse;
  }

  Data_Get_Struct(self, appsignal_data_t, data);
  Data_Get_Struct(other, appsignal_data_t, other_data);

  if (appsignal_data_equal(data, other_data) == 1) {
    return Qtrue;
  } else {
    return Qfalse;
  }
}

#append_boolean(value) ⇒ Object



437
438
439
440
441
442
443
444
445
446
447
448
# File 'ext/appsignal_extension.c', line 437

static VALUE data_append_boolean(VALUE self, VALUE value) {
  appsignal_data_t* data;

  Data_Get_Struct(self, appsignal_data_t, data);

  appsignal_data_array_append_boolean(
    data,
    RTEST(value)
 );

  return Qnil;
}

#append_data(value) ⇒ Object



460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
# File 'ext/appsignal_extension.c', line 460

static VALUE data_append_data(VALUE self, VALUE value) {
  appsignal_data_t* data;
  appsignal_data_t* value_data;

  Check_Type(value, RUBY_T_DATA);

  Data_Get_Struct(self, appsignal_data_t, data);
  Data_Get_Struct(value, appsignal_data_t, value_data);

  appsignal_data_array_append_data(
    data,
    value_data
  );

  return Qnil;
}

#append_fixnum(value) ⇒ Object



407
408
409
410
411
412
413
414
415
416
417
418
419
420
# File 'ext/appsignal_extension.c', line 407

static VALUE data_append_fixnum(VALUE self, VALUE value) {
  appsignal_data_t* data;

  Check_Type(value, T_FIXNUM);

  Data_Get_Struct(self, appsignal_data_t, data);

  appsignal_data_array_append_integer(
    data,
    FIX2LONG(value)
 );

  return Qnil;
}

#append_float(value) ⇒ Object



422
423
424
425
426
427
428
429
430
431
432
433
434
435
# File 'ext/appsignal_extension.c', line 422

static VALUE data_append_float(VALUE self, VALUE value) {
  appsignal_data_t* data;

  Check_Type(value, T_FLOAT);

  Data_Get_Struct(self, appsignal_data_t, data);

  appsignal_data_array_append_float(
    data,
    NUM2DBL(value)
 );

  return Qnil;
}

#append_nil(value) ⇒ Object



450
451
452
453
454
455
456
457
458
# File 'ext/appsignal_extension.c', line 450

static VALUE data_append_nil(VALUE self, VALUE value) {
  appsignal_data_t* data;

  Data_Get_Struct(self, appsignal_data_t, data);

  appsignal_data_array_append_null(data);

  return Qnil;
}

#append_string(value) ⇒ Object

Add content to a data array



392
393
394
395
396
397
398
399
400
401
402
403
404
405
# File 'ext/appsignal_extension.c', line 392

static VALUE data_append_string(VALUE self, VALUE value) {
  appsignal_data_t* data;

  Check_Type(value, T_STRING);

  Data_Get_Struct(self, appsignal_data_t, data);

  appsignal_data_array_append_string(
    data,
    make_appsignal_string(value)
  );

  return Qnil;
}

#inspectObject



33
34
35
# File 'lib/appsignal/extension.rb', line 33

def inspect
  "#<#{self.class.name}:#{object_id} #{to_s}>"
end

#set_boolean(key, value) ⇒ Object



342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
# File 'ext/appsignal_extension.c', line 342

static VALUE data_set_boolean(VALUE self, VALUE key, VALUE value) {
  appsignal_data_t* data;

  Check_Type(key, T_STRING);

  Data_Get_Struct(self, appsignal_data_t, data);

  appsignal_data_map_set_boolean(
    data,
    make_appsignal_string(key),
    RTEST(value)
  );

  return Qnil;
}

#set_data(key, value) ⇒ Object



373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
# File 'ext/appsignal_extension.c', line 373

static VALUE data_set_data(VALUE self, VALUE key, VALUE value) {
  appsignal_data_t* data;
  appsignal_data_t* value_data;

  Check_Type(key, T_STRING);
  Check_Type(value, RUBY_T_DATA);

  Data_Get_Struct(self, appsignal_data_t, data);
  Data_Get_Struct(value, appsignal_data_t, value_data);

  appsignal_data_map_set_data(
    data,
    make_appsignal_string(key),
    value_data
  );

  return Qnil;
}

#set_fixnum(key, value) ⇒ Object



308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
# File 'ext/appsignal_extension.c', line 308

static VALUE data_set_fixnum(VALUE self, VALUE key, VALUE value) {
  appsignal_data_t* data;

  Check_Type(key, T_STRING);
  Check_Type(value, T_FIXNUM);

  Data_Get_Struct(self, appsignal_data_t, data);

  appsignal_data_map_set_integer(
    data,
    make_appsignal_string(key),
    FIX2LONG(value)
  );

  return Qnil;
}

#set_float(key, value) ⇒ Object



325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
# File 'ext/appsignal_extension.c', line 325

static VALUE data_set_float(VALUE self, VALUE key, VALUE value) {
  appsignal_data_t* data;

  Check_Type(key, T_STRING);
  Check_Type(value, T_FLOAT);

  Data_Get_Struct(self, appsignal_data_t, data);

  appsignal_data_map_set_float(
    data,
    make_appsignal_string(key),
    NUM2DBL(value)
  );

  return Qnil;
}

#set_nil(key) ⇒ Object



358
359
360
361
362
363
364
365
366
367
368
369
370
371
# File 'ext/appsignal_extension.c', line 358

static VALUE data_set_nil(VALUE self, VALUE key) {
  appsignal_data_t* data;

  Check_Type(key, T_STRING);

  Data_Get_Struct(self, appsignal_data_t, data);

  appsignal_data_map_set_null(
    data,
    make_appsignal_string(key)
  );

  return Qnil;
}

#set_string(key, value) ⇒ Object

Add content to a data map



291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
# File 'ext/appsignal_extension.c', line 291

static VALUE data_set_string(VALUE self, VALUE key, VALUE value) {
  appsignal_data_t* data;

  Check_Type(key, T_STRING);
  Check_Type(value, T_STRING);

  Data_Get_Struct(self, appsignal_data_t, data);

  appsignal_data_map_set_string(
    data,
    make_appsignal_string(key),
    make_appsignal_string(value)
  );

  return Qnil;
}

#to_sObject

Get Json content of a data



495
496
497
498
499
500
501
502
503
504
505
506
507
508
# File 'ext/appsignal_extension.c', line 495

static VALUE data_to_s(VALUE self) {
  appsignal_data_t* data;
  appsignal_string_t json;

  Data_Get_Struct(self, appsignal_data_t, data);

  json = appsignal_data_to_json(data);

  if (json.len == 0) {
    return Qnil;
  } else {
    return make_ruby_string(json);
  }
}