clipsruby 0.0.35 → 0.0.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +31 -5
- data/ext/clipsruby/clipsruby.c +104 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6bdf3718a68644b1772e951c9a1056581d95b53a0d63d691d7cd434076d8877a
|
4
|
+
data.tar.gz: d76e7156d421d9cb0db3bd73314f061377c2972ecdafcd3eef1c480c113d4d2f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4b4e7e0f16be94698e19d4b8d53bfbc07eeecbcb26e71eb9347ee2d36a9526c4a50708ca2b8cefc042b846fa81197500a1c03a46020f61ebe6111c6d715b574b
|
7
|
+
data.tar.gz: a29961896b77bd1cb0874bd51dc001d94b31c8b7000137b27fca0ef4820055895d69cc3302145514163a5b628791d625cb4208722feea618fb9488d25a5a049a
|
data/README.md
CHANGED
@@ -454,14 +454,14 @@ CLIPS::Environment::Instance.pp_form(instance)
|
|
454
454
|
instance.pp_form
|
455
455
|
```
|
456
456
|
|
457
|
-
### `CLIPS::Environment::Instance.
|
458
|
-
### `CLIPS::Environment::Instance#
|
457
|
+
### `CLIPS::Environment::Instance.defclass`
|
458
|
+
### `CLIPS::Environment::Instance#defclass`
|
459
459
|
|
460
460
|
Returns the Defclass of an Instance
|
461
461
|
|
462
462
|
```ruby
|
463
|
-
CLIPS::Environment::Instance.
|
464
|
-
instance.
|
463
|
+
CLIPS::Environment::Instance.defclass(instance)
|
464
|
+
instance.defclass
|
465
465
|
```
|
466
466
|
|
467
467
|
### `CLIPS::Environment::Defclass.name`
|
@@ -498,7 +498,7 @@ defclass.defmodule_name
|
|
498
498
|
### `CLIPS::Environment::Defclass#get_instance_list`
|
499
499
|
|
500
500
|
Return an array of Instances of the Defclass.
|
501
|
-
Pass `true` as
|
501
|
+
Pass `true` as an argument to include instances of subclasses
|
502
502
|
of this Defclass.
|
503
503
|
|
504
504
|
```ruby
|
@@ -508,6 +508,32 @@ defclass.get_instance_list
|
|
508
508
|
defclass.get_instance_list(true)
|
509
509
|
```
|
510
510
|
|
511
|
+
### `CLIPS::Environment::Defclass.superclasses`
|
512
|
+
### `CLIPS::Environment::Defclass#superclasses`
|
513
|
+
|
514
|
+
Return an array of superclasses of the Defclass.
|
515
|
+
Pass `true` as an argument to include inherited superclasses.
|
516
|
+
|
517
|
+
```ruby
|
518
|
+
CLIPS::Environment::Defclass.superclasses(defclass)
|
519
|
+
CLIPS::Environment::Defclass.superclasses(defclass, true)
|
520
|
+
defclass.superclasses
|
521
|
+
defclass.superclasses(true)
|
522
|
+
```
|
523
|
+
|
524
|
+
### `CLIPS::Environment::Defclass.subclasses`
|
525
|
+
### `CLIPS::Environment::Defclass#subclasses`
|
526
|
+
|
527
|
+
Return an array of subclasses of the Defclass.
|
528
|
+
Pass `true` as an argument to include inherited subclasses.
|
529
|
+
|
530
|
+
```ruby
|
531
|
+
CLIPS::Environment::Defclass.subclasses(defclass)
|
532
|
+
CLIPS::Environment::Defclass.subclasses(defclass, true)
|
533
|
+
defclass.subclasses
|
534
|
+
defclass.subclasses(true)
|
535
|
+
```
|
536
|
+
|
511
537
|
### `CLIPS::Environment.find_defrule`
|
512
538
|
### `CLIPS::Environment#find_defrule`
|
513
539
|
|
data/ext/clipsruby/clipsruby.c
CHANGED
@@ -282,10 +282,16 @@ static VALUE clips_environment_defclass_static_defmodule_name(VALUE self, VALUE
|
|
282
282
|
static VALUE clips_environment_defclass_pp_form(VALUE self)
|
283
283
|
{
|
284
284
|
Defclass *defclass;
|
285
|
+
const char *pp_form;
|
285
286
|
|
286
287
|
TypedData_Get_Struct(self, Defclass, &Defclass_type, defclass);
|
287
288
|
|
288
|
-
|
289
|
+
pp_form = DefclassPPForm(defclass);
|
290
|
+
if (pp_form == NULL) {
|
291
|
+
return Qnil;
|
292
|
+
} else {
|
293
|
+
return rb_str_new2(pp_form);
|
294
|
+
}
|
289
295
|
}
|
290
296
|
|
291
297
|
static VALUE clips_environment_defclass_static_pp_form(VALUE self, VALUE rbDefclass)
|
@@ -379,6 +385,7 @@ static VALUE clips_environment_defclass_static_get_instance_list(int argc, VALUE
|
|
379
385
|
return returnArray;
|
380
386
|
}
|
381
387
|
|
388
|
+
|
382
389
|
static VALUE clips_environment_make_instance(VALUE self, VALUE string)
|
383
390
|
{
|
384
391
|
Environment *env;
|
@@ -466,7 +473,7 @@ static VALUE clips_environment_instance_static_delete(VALUE self, VALUE rbInstan
|
|
466
473
|
return clips_environment_instance_delete(rbInstance);
|
467
474
|
}
|
468
475
|
|
469
|
-
static VALUE
|
476
|
+
static VALUE clips_environment_instance_defclass(VALUE self)
|
470
477
|
{
|
471
478
|
Defclass *defclass;
|
472
479
|
Instance *instance;
|
@@ -486,9 +493,9 @@ static VALUE clips_environment_instance_class(VALUE self)
|
|
486
493
|
return rb_defclass;
|
487
494
|
}
|
488
495
|
|
489
|
-
static VALUE
|
496
|
+
static VALUE clips_environment_instance_static_defclass(VALUE self, VALUE rbInstance)
|
490
497
|
{
|
491
|
-
return
|
498
|
+
return clips_environment_instance_defclass(rbInstance);
|
492
499
|
}
|
493
500
|
|
494
501
|
static VALUE clips_environment_instance_name(VALUE self)
|
@@ -1114,6 +1121,93 @@ static VALUE clips_environment_deftemplate_static_slot_names(VALUE self, VALUE r
|
|
1114
1121
|
return clips_environment_deftemplate_slot_names(rbDeftemplate);
|
1115
1122
|
}
|
1116
1123
|
|
1124
|
+
static VALUE clips_environment_defclass_superclasses(int argc, VALUE *argv, VALUE rbDefclass)
|
1125
|
+
{
|
1126
|
+
VALUE rbEnvironment, inherit;
|
1127
|
+
Defclass *defclass;
|
1128
|
+
CLIPSValue value;
|
1129
|
+
VALUE out;
|
1130
|
+
|
1131
|
+
rbEnvironment = rb_iv_get(rbDefclass, "@environment");
|
1132
|
+
|
1133
|
+
rb_scan_args(argc, argv, "01", &inherit);
|
1134
|
+
|
1135
|
+
if (NIL_P(inherit)) {
|
1136
|
+
inherit = Qfalse;
|
1137
|
+
}
|
1138
|
+
|
1139
|
+
TypedData_Get_Struct(rbDefclass, Defclass, &Defclass_type, defclass);
|
1140
|
+
|
1141
|
+
ClassSuperclasses(defclass, &value, RTEST(inherit));
|
1142
|
+
|
1143
|
+
CLIPSValue_to_VALUE(&value, &out, &rbEnvironment);
|
1144
|
+
|
1145
|
+
return out;
|
1146
|
+
}
|
1147
|
+
|
1148
|
+
static VALUE clips_environment_defclass_static_superclasses(int argc, VALUE *argv, VALUE klass)
|
1149
|
+
{
|
1150
|
+
VALUE rbEnvironment, inherit, rbDefclass;
|
1151
|
+
Defclass *defclass;
|
1152
|
+
CLIPSValue value;
|
1153
|
+
VALUE out;
|
1154
|
+
|
1155
|
+
rb_scan_args(argc, argv, "11", &rbDefclass, &inherit);
|
1156
|
+
|
1157
|
+
TypedData_Get_Struct(rbDefclass, Defclass, &Defclass_type, defclass);
|
1158
|
+
|
1159
|
+
rbEnvironment = rb_iv_get(rbDefclass, "@environment");
|
1160
|
+
|
1161
|
+
ClassSuperclasses(defclass, &value, RTEST(inherit));
|
1162
|
+
|
1163
|
+
CLIPSValue_to_VALUE(&value, &out, &rbEnvironment);
|
1164
|
+
|
1165
|
+
return out;
|
1166
|
+
}
|
1167
|
+
|
1168
|
+
static VALUE clips_environment_defclass_subclasses(int argc, VALUE *argv, VALUE rbDefclass)
|
1169
|
+
{
|
1170
|
+
VALUE rbEnvironment, inherit;
|
1171
|
+
Defclass *defclass;
|
1172
|
+
CLIPSValue value;
|
1173
|
+
VALUE out;
|
1174
|
+
|
1175
|
+
rbEnvironment = rb_iv_get(rbDefclass, "@environment");
|
1176
|
+
|
1177
|
+
rb_scan_args(argc, argv, "01", &inherit);
|
1178
|
+
|
1179
|
+
if (NIL_P(inherit)) {
|
1180
|
+
inherit = Qfalse;
|
1181
|
+
}
|
1182
|
+
|
1183
|
+
TypedData_Get_Struct(rbDefclass, Defclass, &Defclass_type, defclass);
|
1184
|
+
|
1185
|
+
ClassSubclasses(defclass, &value, RTEST(inherit));
|
1186
|
+
|
1187
|
+
CLIPSValue_to_VALUE(&value, &out, &rbEnvironment);
|
1188
|
+
|
1189
|
+
return out;
|
1190
|
+
}
|
1191
|
+
|
1192
|
+
static VALUE clips_environment_defclass_static_subclasses(int argc, VALUE *argv, VALUE klass)
|
1193
|
+
{
|
1194
|
+
VALUE rbEnvironment, inherit, rbDefclass;
|
1195
|
+
Defclass *defclass;
|
1196
|
+
CLIPSValue value;
|
1197
|
+
VALUE out;
|
1198
|
+
|
1199
|
+
rb_scan_args(argc, argv, "11", &rbDefclass, &inherit);
|
1200
|
+
|
1201
|
+
TypedData_Get_Struct(rbDefclass, Defclass, &Defclass_type, defclass);
|
1202
|
+
|
1203
|
+
rbEnvironment = rb_iv_get(rbDefclass, "@environment");
|
1204
|
+
|
1205
|
+
ClassSubclasses(defclass, &value, RTEST(inherit));
|
1206
|
+
|
1207
|
+
CLIPSValue_to_VALUE(&value, &out, &rbEnvironment);
|
1208
|
+
|
1209
|
+
return out;
|
1210
|
+
}
|
1117
1211
|
|
1118
1212
|
static VALUE clips_environment_run(int argc, VALUE *argv, VALUE environment) {
|
1119
1213
|
VALUE integer;
|
@@ -4201,6 +4295,10 @@ void Init_clipsruby(void)
|
|
4201
4295
|
rb_define_method(rbDefclass, "pp_form", clips_environment_defclass_pp_form, 0);
|
4202
4296
|
rb_define_singleton_method(rbDefclass, "get_instance_list", clips_environment_defclass_static_get_instance_list, -1);
|
4203
4297
|
rb_define_method(rbDefclass, "get_instance_list", clips_environment_defclass_get_instance_list, -1);
|
4298
|
+
rb_define_singleton_method(rbDefclass, "superclasses", clips_environment_defclass_static_superclasses, -1);
|
4299
|
+
rb_define_method(rbDefclass, "superclasses", clips_environment_defclass_superclasses, -1);
|
4300
|
+
rb_define_singleton_method(rbDefclass, "subclasses", clips_environment_defclass_static_subclasses, -1);
|
4301
|
+
rb_define_method(rbDefclass, "subclasses", clips_environment_defclass_subclasses, -1);
|
4204
4302
|
|
4205
4303
|
VALUE rbInstance = rb_define_class_under(rbEnvironment, "Instance", rb_cObject);
|
4206
4304
|
rb_define_alloc_func(rbInstance, instance_alloc);
|
@@ -4208,8 +4306,8 @@ void Init_clipsruby(void)
|
|
4208
4306
|
rb_define_method(rbInstance, "unmake", clips_environment_instance_unmake, 0);
|
4209
4307
|
rb_define_singleton_method(rbInstance, "delete", clips_environment_instance_static_delete, 1);
|
4210
4308
|
rb_define_method(rbInstance, "delete", clips_environment_instance_delete, 0);
|
4211
|
-
rb_define_singleton_method(rbInstance, "
|
4212
|
-
rb_define_method(rbInstance, "
|
4309
|
+
rb_define_singleton_method(rbInstance, "defclass", clips_environment_instance_static_defclass, 1);
|
4310
|
+
rb_define_method(rbInstance, "defclass", clips_environment_instance_defclass, 0);
|
4213
4311
|
rb_define_singleton_method(rbInstance, "name", clips_environment_instance_static_name, 1);
|
4214
4312
|
rb_define_method(rbInstance, "name", clips_environment_instance_name, 0);
|
4215
4313
|
rb_define_singleton_method(rbInstance, "pp_form", clips_environment_instance_static_pp_form, 1);
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clipsruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.37
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Johnston
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-09-
|
11
|
+
date: 2024-09-28 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Calling the CLIPS programming language from within Ruby
|
14
14
|
email: mrryanjohnston@gmail.com
|