clipsruby 0.0.29 → 0.0.30
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 +37 -1
- data/ext/clipsruby/clipsruby.c +112 -0
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4dca72773ba370d57fd7c96a94820ce857f550ca792c78958885919234c0e03b
|
4
|
+
data.tar.gz: 055b1e80563bfeb02135a9cad90fee07dac3dd85c13ba90f9771c7af388b4457
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3f8e69b183b21759ebd410cc064901c99fb6de71f8a13e656dc133238be095e8b2d9c9bb4cb78db79efeb25cd3e68d386bac3df07a96045793f73259360fb2f1
|
7
|
+
data.tar.gz: 66930baf77b505500e1879db1c8cb83d5104c048b37a13e328331063fd4e55573f2d8ac917837b76cdea547b37a5798e4de0f704ef3a0524c91c8928c33f76ea
|
data/README.md
CHANGED
@@ -474,6 +474,16 @@ CLIPS::Environment::Defrule.remove_break(defrule)
|
|
474
474
|
defrule.remove_break
|
475
475
|
```
|
476
476
|
|
477
|
+
### `CLIPS::Environment::Defrule.salience`
|
478
|
+
### `CLIPS::Environment::Defrule#salience`
|
479
|
+
|
480
|
+
Returns the salience of a defrule
|
481
|
+
|
482
|
+
```ruby
|
483
|
+
CLIPS::Environment::Defrule.salience(defrule)
|
484
|
+
defrule.salience
|
485
|
+
```
|
486
|
+
|
477
487
|
### `CLIPS::Environment.find_defmodule`
|
478
488
|
### `CLIPS::Environment#find_defmodule`
|
479
489
|
|
@@ -540,6 +550,22 @@ CLIPS::Environment.get_deftemplate_list(defmodule)
|
|
540
550
|
env.get_deftemplate_list(defmodule)
|
541
551
|
```
|
542
552
|
|
553
|
+
### `CLIPS::Environment.get_defrule_list`
|
554
|
+
### `CLIPS::Environment#get_defrule_list`
|
555
|
+
|
556
|
+
Return an array of Defrule names as symbols in the environment. Pass an argument of a
|
557
|
+
symbol, string, or Defmodule object in order to only get Defrules
|
558
|
+
in that Defmodule. If you do not, it will return all Defrule names in all modules.
|
559
|
+
|
560
|
+
```ruby
|
561
|
+
CLIPS::Environment.get_defrule_list
|
562
|
+
env.get_defrule_list
|
563
|
+
CLIPS::Environment.get_defrule_list(:MAIN)
|
564
|
+
env.get_defrule_list(:MAIN)
|
565
|
+
CLIPS::Environment.get_defrule_list(defmodule)
|
566
|
+
env.get_defrule_list(defmodule)
|
567
|
+
```
|
568
|
+
|
543
569
|
### `CLIPS::Environment.find_deftemplate`
|
544
570
|
### `CLIPS::Environment#find_deftemplate`
|
545
571
|
|
@@ -741,13 +767,23 @@ deftemplate.slot_defaultp('bar')
|
|
741
767
|
### `CLIPS::Environment::Defmodule.get_deftemplate_list`
|
742
768
|
### `CLIPS::Environment::Defmodule#get_deftemplate_list`
|
743
769
|
|
744
|
-
Return an array of Deftemplate names as
|
770
|
+
Return an array of Deftemplate names as symbols in the Defmodule
|
745
771
|
|
746
772
|
```ruby
|
747
773
|
CLIPS::Environment::Defmodule.get_deftemplate_list(defmodule)
|
748
774
|
defmodule.get_deftemplate_list
|
749
775
|
```
|
750
776
|
|
777
|
+
### `CLIPS::Environment::Defmodule.get_defrule_list`
|
778
|
+
### `CLIPS::Environment::Defmodule#get_defrule_list`
|
779
|
+
|
780
|
+
Return an array of Defrule names as symbols in the Defmodule
|
781
|
+
|
782
|
+
```ruby
|
783
|
+
CLIPS::Environment::Defmodule.get_defrule_list(defmodule)
|
784
|
+
defmodule.get_defrule_list
|
785
|
+
```
|
786
|
+
|
751
787
|
### `CLIPS::Environment.find_deffacts`
|
752
788
|
### `CLIPS::Environment#find_deffacts`
|
753
789
|
|
data/ext/clipsruby/clipsruby.c
CHANGED
@@ -1954,6 +1954,74 @@ static VALUE clips_environment_static_get_deftemplate_list(int argc, VALUE *argv
|
|
1954
1954
|
return out;
|
1955
1955
|
}
|
1956
1956
|
|
1957
|
+
static VALUE clips_environment_get_defrule_list(int argc, VALUE *argv, VALUE rbEnvironment) {
|
1958
|
+
VALUE defmodule_or_defmodule_name;
|
1959
|
+
Environment *env;
|
1960
|
+
Defmodule *module;
|
1961
|
+
CLIPSValue value;
|
1962
|
+
VALUE out;
|
1963
|
+
|
1964
|
+
TypedData_Get_Struct(rbEnvironment, Environment, &Environment_type, env);
|
1965
|
+
|
1966
|
+
rb_scan_args(argc, argv, "01", &defmodule_or_defmodule_name);
|
1967
|
+
switch (TYPE(defmodule_or_defmodule_name)) {
|
1968
|
+
case T_NIL:
|
1969
|
+
module = NULL;
|
1970
|
+
break;
|
1971
|
+
case T_STRING:
|
1972
|
+
case T_SYMBOL:
|
1973
|
+
TypedData_Get_Struct(
|
1974
|
+
clips_environment_find_defmodule(rbEnvironment, defmodule_or_defmodule_name),
|
1975
|
+
Defmodule, &Defmodule_type, module);
|
1976
|
+
break;
|
1977
|
+
case T_DATA:
|
1978
|
+
TypedData_Get_Struct(defmodule_or_defmodule_name, Defmodule, &Defmodule_type, module);
|
1979
|
+
break;
|
1980
|
+
default:
|
1981
|
+
rb_warn("defmodule name must be a symbol or string");
|
1982
|
+
return Qnil;
|
1983
|
+
}
|
1984
|
+
GetDefruleList(env, &value, module);
|
1985
|
+
|
1986
|
+
CLIPSValue_to_VALUE(&value, &out, &rbEnvironment);
|
1987
|
+
|
1988
|
+
return out;
|
1989
|
+
}
|
1990
|
+
|
1991
|
+
static VALUE clips_environment_static_get_defrule_list(int argc, VALUE *argv, VALUE klass) {
|
1992
|
+
VALUE rbEnvironment, defmodule_or_defmodule_name;
|
1993
|
+
Environment *env;
|
1994
|
+
Defmodule *module;
|
1995
|
+
CLIPSValue value;
|
1996
|
+
VALUE out;
|
1997
|
+
|
1998
|
+
rb_scan_args(argc, argv, "11", &rbEnvironment, &defmodule_or_defmodule_name);
|
1999
|
+
|
2000
|
+
TypedData_Get_Struct(rbEnvironment, Environment, &Environment_type, env);
|
2001
|
+
switch (TYPE(defmodule_or_defmodule_name)) {
|
2002
|
+
case T_NIL:
|
2003
|
+
module = NULL;
|
2004
|
+
break;
|
2005
|
+
case T_STRING:
|
2006
|
+
case T_SYMBOL:
|
2007
|
+
TypedData_Get_Struct(
|
2008
|
+
clips_environment_find_defmodule(rbEnvironment, defmodule_or_defmodule_name),
|
2009
|
+
Defmodule, &Defmodule_type, module);
|
2010
|
+
break;
|
2011
|
+
case T_DATA:
|
2012
|
+
TypedData_Get_Struct(defmodule_or_defmodule_name, Defmodule, &Defmodule_type, module);
|
2013
|
+
break;
|
2014
|
+
default:
|
2015
|
+
rb_warn("defmodule name must be a symbol or string");
|
2016
|
+
return Qnil;
|
2017
|
+
}
|
2018
|
+
GetDefruleList(env, &value, module);
|
2019
|
+
|
2020
|
+
CLIPSValue_to_VALUE(&value, &out, &rbEnvironment);
|
2021
|
+
|
2022
|
+
return out;
|
2023
|
+
}
|
2024
|
+
|
1957
2025
|
static VALUE clips_environment_defmodule_name(VALUE self)
|
1958
2026
|
{
|
1959
2027
|
Defmodule *defmodule;
|
@@ -2050,6 +2118,30 @@ static VALUE clips_environment_defmodule_static_get_deftemplate_list(VALUE self,
|
|
2050
2118
|
return clips_environment_defmodule_get_deftemplate_list(rbDefmodule);
|
2051
2119
|
}
|
2052
2120
|
|
2121
|
+
static VALUE clips_environment_defmodule_get_defrule_list(VALUE self)
|
2122
|
+
{
|
2123
|
+
Defmodule *module;
|
2124
|
+
Environment *env;
|
2125
|
+
CLIPSValue value;
|
2126
|
+
VALUE out;
|
2127
|
+
|
2128
|
+
VALUE rbEnvironment = rb_iv_get(self, "@environment");
|
2129
|
+
|
2130
|
+
TypedData_Get_Struct(self, Defmodule, &Defmodule_type, module);
|
2131
|
+
TypedData_Get_Struct(rbEnvironment, Environment, &Environment_type, env);
|
2132
|
+
|
2133
|
+
GetDefruleList(env, &value, module);
|
2134
|
+
|
2135
|
+
CLIPSValue_to_VALUE(&value, &out, &rbEnvironment);
|
2136
|
+
|
2137
|
+
return out;
|
2138
|
+
}
|
2139
|
+
|
2140
|
+
static VALUE clips_environment_defmodule_static_get_defrule_list(VALUE self, VALUE rbDefmodule)
|
2141
|
+
{
|
2142
|
+
return clips_environment_defmodule_get_defrule_list(rbDefmodule);
|
2143
|
+
}
|
2144
|
+
|
2053
2145
|
static VALUE clips_environment_defrule_name(VALUE self)
|
2054
2146
|
{
|
2055
2147
|
Defrule *defrule;
|
@@ -2314,6 +2406,20 @@ static VALUE clips_environment_defrule_static_remove_break(VALUE self, VALUE rbD
|
|
2314
2406
|
return clips_environment_defrule_remove_break(rbDefrule);
|
2315
2407
|
}
|
2316
2408
|
|
2409
|
+
static VALUE clips_environment_defrule_salience(VALUE self)
|
2410
|
+
{
|
2411
|
+
Defrule *defrule;
|
2412
|
+
|
2413
|
+
TypedData_Get_Struct(self, Defrule, &Defrule_type, defrule);
|
2414
|
+
|
2415
|
+
return INT2NUM(defrule->salience);
|
2416
|
+
}
|
2417
|
+
|
2418
|
+
static VALUE clips_environment_defrule_static_salience(VALUE self, VALUE rbDefrule)
|
2419
|
+
{
|
2420
|
+
return clips_environment_defrule_salience(rbDefrule);
|
2421
|
+
}
|
2422
|
+
|
2317
2423
|
static VALUE clips_environment_watch(VALUE self, VALUE item)
|
2318
2424
|
{
|
2319
2425
|
Environment *env;
|
@@ -3013,6 +3119,8 @@ void Init_clipsruby(void)
|
|
3013
3119
|
rb_define_method(rbEnvironment, "get_fact_list", clips_environment_get_fact_list, -1);
|
3014
3120
|
rb_define_singleton_method(rbEnvironment, "get_deftemplate_list", clips_environment_static_get_deftemplate_list, -1);
|
3015
3121
|
rb_define_method(rbEnvironment, "get_deftemplate_list", clips_environment_get_deftemplate_list, -1);
|
3122
|
+
rb_define_singleton_method(rbEnvironment, "get_defrule_list", clips_environment_static_get_defrule_list, -1);
|
3123
|
+
rb_define_method(rbEnvironment, "get_defrule_list", clips_environment_get_defrule_list, -1);
|
3016
3124
|
rb_define_singleton_method(rbEnvironment, "find_deffacts", clips_environment_static_find_deffacts, 2);
|
3017
3125
|
rb_define_method(rbEnvironment, "find_deffacts", clips_environment_find_deffacts, 1);
|
3018
3126
|
rb_define_singleton_method(rbEnvironment, "watch", clips_environment_static_watch, 2);
|
@@ -3136,6 +3244,8 @@ void Init_clipsruby(void)
|
|
3136
3244
|
rb_define_method(rbDefmodule, "get_fact_list", clips_environment_defmodule_get_fact_list, 0);
|
3137
3245
|
rb_define_singleton_method(rbDefmodule, "get_deftemplate_list", clips_environment_defmodule_static_get_deftemplate_list, 1);
|
3138
3246
|
rb_define_method(rbDefmodule, "get_deftemplate_list", clips_environment_defmodule_get_deftemplate_list, 0);
|
3247
|
+
rb_define_singleton_method(rbDefmodule, "get_defrule_list", clips_environment_defmodule_static_get_defrule_list, 1);
|
3248
|
+
rb_define_method(rbDefmodule, "get_defrule_list", clips_environment_defmodule_get_defrule_list, 0);
|
3139
3249
|
|
3140
3250
|
VALUE rbFact = rb_define_class_under(rbEnvironment, "Fact", rb_cObject);
|
3141
3251
|
rb_define_alloc_func(rbFact, fact_alloc);
|
@@ -3174,6 +3284,8 @@ void Init_clipsruby(void)
|
|
3174
3284
|
rb_define_method(rbDefrule, "set_break", clips_environment_defrule_set_break, 0);
|
3175
3285
|
rb_define_singleton_method(rbDefrule, "remove_break", clips_environment_defrule_static_remove_break, 1);
|
3176
3286
|
rb_define_method(rbDefrule, "remove_break", clips_environment_defrule_remove_break, 0);
|
3287
|
+
rb_define_singleton_method(rbDefrule, "salience", clips_environment_defrule_static_salience, 1);
|
3288
|
+
rb_define_method(rbDefrule, "salience", clips_environment_defrule_salience, 0);
|
3177
3289
|
|
3178
3290
|
VALUE rbInstance = rb_define_class_under(rbEnvironment, "Instance", rb_cObject);
|
3179
3291
|
}
|