porolog 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8dc5fd364c17d1e71e8bcfe0a999f38814acf7435af6d479825c02de9a549d68
4
- data.tar.gz: 0622422f07dcd49faf16b3e91ecae63fd76ed32cf7c15beb337fd2a4fb127c97
3
+ metadata.gz: 652588b8662008863d59907af8b6d3f5d1721ee8f00f7fa199d7e8bf34886281
4
+ data.tar.gz: 45948cb94c5b7658a45f000af03495deba88effcebf404d124eea0c799b84494
5
5
  SHA512:
6
- metadata.gz: 4339f072ce58ac3b2afe74fb93bf3cc629b2f3677984fd643f2999e1a7b90b1e540efeb1f3f61b0103e722d6ad8cbe3717eec7fdf3ec60647b1c69752d2e816c
7
- data.tar.gz: c2fd162e0d3ea14fe60ff411e51ae990e0e07c79784fa16dc28f14747fe2e6c7558b73cbb369a92a98882a354b22d6b06545ed7d3701a040e164aa975fd84f90
6
+ metadata.gz: ed2222f2c4f50d651d78430a508730eaa2d15fbfd7b8f1fc19c84d3da859fe60d81cd4a30288a7d100b54d4e8f38d90365d8009f0576542cbf6040cee6ac8545
7
+ data.tar.gz: 36620dbbe18f0fe5f5fdaf70d344cf516b13d4e562704d5b9418f7f5af973f78db4d3663158d61dad73c147026b72fa46e1b65d97c5739d6fc4c930931599a93
@@ -14,7 +14,7 @@
14
14
  <img src="./assets/0.10.2/loading.gif" alt="loading"/>
15
15
  </div>
16
16
  <div id="wrapper" style="display:none;">
17
- <div class="timestamp">Generated <abbr class="timeago" title="2020-08-06T22:13:52+10:00">2020-08-06T22:13:52+10:00</abbr></div>
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2020-08-08T08:28:15+10:00">2020-08-08T08:28:15+10:00</abbr></div>
18
18
  <ul class="group_tabs"></ul>
19
19
 
20
20
  <div id="content">
@@ -25,7 +25,7 @@
25
25
  covered at
26
26
  <span class="covered_strength">
27
27
  <span class="green">
28
- 17764.4
28
+ 17764.41
29
29
  </span>
30
30
  </span> hits/line)
31
31
  </h2>
@@ -97,7 +97,7 @@
97
97
  <td>146</td>
98
98
  <td>146</td>
99
99
  <td>0</td>
100
- <td>14712.7</td>
100
+ <td>14712.8</td>
101
101
  </tr>
102
102
 
103
103
  <tr>
@@ -113,7 +113,7 @@
113
113
  <tr>
114
114
  <td class="strong"><a href="#6a9b9f605540e91937c2e20600638e425bfd765f" class="src_link" title="lib/porolog/predicate.rb">lib/porolog/predicate.rb</a></td>
115
115
  <td class="green strong">100.0 %</td>
116
- <td>178</td>
116
+ <td>181</td>
117
117
  <td>60</td>
118
118
  <td>60</td>
119
119
  <td>0</td>
@@ -10570,14 +10570,14 @@
10570
10570
  <code class="ruby"> def deleted?</code>
10571
10571
  </li>
10572
10572
 
10573
- <li class="covered" data-hits="7414" data-linenumber="125">
10574
- <span class="hits">7414</span>
10573
+ <li class="covered" data-hits="7415" data-linenumber="125">
10574
+ <span class="hits">7415</span>
10575
10575
 
10576
10576
  <code class="ruby"> @deleted ||= check_deleted</code>
10577
10577
  </li>
10578
10578
 
10579
- <li class="covered" data-hits="7414" data-linenumber="126">
10580
- <span class="hits">7414</span>
10579
+ <li class="covered" data-hits="7415" data-linenumber="126">
10580
+ <span class="hits">7415</span>
10581
10581
 
10582
10582
  <code class="ruby"> @deleted</code>
10583
10583
  </li>
@@ -10612,8 +10612,8 @@
10612
10612
  <code class="ruby"> def check_deleted</code>
10613
10613
  </li>
10614
10614
 
10615
- <li class="covered" data-hits="7406" data-linenumber="132">
10616
- <span class="hits">7406</span>
10615
+ <li class="covered" data-hits="7407" data-linenumber="132">
10616
+ <span class="hits">7407</span>
10617
10617
 
10618
10618
  <code class="ruby"> return false if @@goals.include?(self)</code>
10619
10619
  </li>
@@ -10624,20 +10624,20 @@
10624
10624
  <code class="ruby"> </code>
10625
10625
  </li>
10626
10626
 
10627
- <li class="covered" data-hits="7391" data-linenumber="134">
10628
- <span class="hits">7391</span>
10627
+ <li class="covered" data-hits="7392" data-linenumber="134">
10628
+ <span class="hits">7392</span>
10629
10629
 
10630
10630
  <code class="ruby"> @variables.delete_if do |_name,variable|</code>
10631
10631
  </li>
10632
10632
 
10633
- <li class="covered" data-hits="31379" data-linenumber="135">
10634
- <span class="hits">31379</span>
10633
+ <li class="covered" data-hits="31382" data-linenumber="135">
10634
+ <span class="hits">31382</span>
10635
10635
 
10636
10636
  <code class="ruby"> variable.remove</code>
10637
10637
  </li>
10638
10638
 
10639
- <li class="covered" data-hits="31379" data-linenumber="136">
10640
- <span class="hits">31379</span>
10639
+ <li class="covered" data-hits="31382" data-linenumber="136">
10640
+ <span class="hits">31382</span>
10641
10641
 
10642
10642
  <code class="ruby"> true</code>
10643
10643
  </li>
@@ -10654,8 +10654,8 @@
10654
10654
  <code class="ruby"> </code>
10655
10655
  </li>
10656
10656
 
10657
- <li class="covered" data-hits="7391" data-linenumber="139">
10658
- <span class="hits">7391</span>
10657
+ <li class="covered" data-hits="7392" data-linenumber="139">
10658
+ <span class="hits">7392</span>
10659
10659
 
10660
10660
  <code class="ruby"> @values.delete_if do |_name,value|</code>
10661
10661
  </li>
@@ -10684,8 +10684,8 @@
10684
10684
  <code class="ruby"> </code>
10685
10685
  </li>
10686
10686
 
10687
- <li class="covered" data-hits="7391" data-linenumber="144">
10688
- <span class="hits">7391</span>
10687
+ <li class="covered" data-hits="7392" data-linenumber="144">
10688
+ <span class="hits">7392</span>
10689
10689
 
10690
10690
  <code class="ruby"> true</code>
10691
10691
  </li>
@@ -12545,14 +12545,14 @@
12545
12545
  <code class="ruby"> def signature</code>
12546
12546
  </li>
12547
12547
 
12548
- <li class="covered" data-hits="59862" data-linenumber="94">
12549
- <span class="hits">59862</span>
12548
+ <li class="covered" data-hits="59863" data-linenumber="94">
12549
+ <span class="hits">59863</span>
12550
12550
 
12551
12551
  <code class="ruby"> @signature ||= [@variable1, @index1, @variable2, @index2].freeze</code>
12552
12552
  </li>
12553
12553
 
12554
- <li class="covered" data-hits="59862" data-linenumber="95">
12555
- <span class="hits">59862</span>
12554
+ <li class="covered" data-hits="59863" data-linenumber="95">
12555
+ <span class="hits">59863</span>
12556
12556
 
12557
12557
  <code class="ruby"> @signature</code>
12558
12558
  </li>
@@ -12635,14 +12635,14 @@
12635
12635
  <code class="ruby"> def remove</code>
12636
12636
  </li>
12637
12637
 
12638
- <li class="covered" data-hits="29925" data-linenumber="109">
12639
- <span class="hits">29925</span>
12638
+ <li class="covered" data-hits="29926" data-linenumber="109">
12639
+ <span class="hits">29926</span>
12640
12640
 
12641
12641
  <code class="ruby"> @variable1.instantiations.delete(self) if @variable1.is_a?(Variable) || @variable1.is_a?(Value)</code>
12642
12642
  </li>
12643
12643
 
12644
- <li class="covered" data-hits="29925" data-linenumber="110">
12645
- <span class="hits">29925</span>
12644
+ <li class="covered" data-hits="29926" data-linenumber="110">
12645
+ <span class="hits">29926</span>
12646
12646
 
12647
12647
  <code class="ruby"> @variable2.instantiations.delete(self) if @variable2.is_a?(Variable) || @variable2.is_a?(Value)</code>
12648
12648
  </li>
@@ -12653,20 +12653,20 @@
12653
12653
  <code class="ruby"> </code>
12654
12654
  </li>
12655
12655
 
12656
- <li class="covered" data-hits="29925" data-linenumber="112">
12657
- <span class="hits">29925</span>
12656
+ <li class="covered" data-hits="29926" data-linenumber="112">
12657
+ <span class="hits">29926</span>
12658
12658
 
12659
12659
  <code class="ruby"> @deleted = true</code>
12660
12660
  </li>
12661
12661
 
12662
- <li class="covered" data-hits="29925" data-linenumber="113">
12663
- <span class="hits">29925</span>
12662
+ <li class="covered" data-hits="29926" data-linenumber="113">
12663
+ <span class="hits">29926</span>
12664
12664
 
12665
12665
  <code class="ruby"> @@instantiations.delete(signature)</code>
12666
12666
  </li>
12667
12667
 
12668
- <li class="covered" data-hits="29925" data-linenumber="114">
12669
- <span class="hits">29925</span>
12668
+ <li class="covered" data-hits="29926" data-linenumber="114">
12669
+ <span class="hits">29926</span>
12670
12670
 
12671
12671
  <code class="ruby"> @deleted</code>
12672
12672
  </li>
@@ -14595,556 +14595,574 @@
14595
14595
  <li class="never" data-hits="" data-linenumber="86">
14596
14596
 
14597
14597
 
14598
+ <code class="ruby"> # @param args the args to be passed to initialize, first of which is the name of the predicate.</code>
14599
+ </li>
14600
+
14601
+ <li class="never" data-hits="" data-linenumber="87">
14602
+
14603
+
14598
14604
  <code class="ruby"> # @return [Porolog::Predicate] a new or existing Predicate.</code>
14599
14605
  </li>
14600
14606
 
14601
- <li class="covered" data-hits="1" data-linenumber="87">
14607
+ <li class="covered" data-hits="1" data-linenumber="88">
14602
14608
  <span class="hits">1</span>
14603
14609
 
14604
- <code class="ruby"> def self.new(*args)</code>
14610
+ <code class="ruby"> def self.new(*args, **)</code>
14605
14611
  </li>
14606
14612
 
14607
- <li class="covered" data-hits="1172" data-linenumber="88">
14613
+ <li class="covered" data-hits="1172" data-linenumber="89">
14608
14614
  <span class="hits">1172</span>
14609
14615
 
14610
14616
  <code class="ruby"> scope[args.first.to_sym] || super</code>
14611
14617
  </li>
14612
14618
 
14613
- <li class="never" data-hits="" data-linenumber="89">
14619
+ <li class="never" data-hits="" data-linenumber="90">
14614
14620
 
14615
14621
 
14616
14622
  <code class="ruby"> end</code>
14617
14623
  </li>
14618
14624
 
14619
- <li class="never" data-hits="" data-linenumber="90">
14625
+ <li class="never" data-hits="" data-linenumber="91">
14620
14626
 
14621
14627
 
14622
14628
  <code class="ruby"> </code>
14623
14629
  </li>
14624
14630
 
14625
- <li class="never" data-hits="" data-linenumber="91">
14631
+ <li class="never" data-hits="" data-linenumber="92">
14626
14632
 
14627
14633
 
14628
14634
  <code class="ruby"> # Create Arguments for the Predicate.</code>
14629
14635
  </li>
14630
14636
 
14631
- <li class="never" data-hits="" data-linenumber="92">
14637
+ <li class="never" data-hits="" data-linenumber="93">
14632
14638
 
14633
14639
 
14634
14640
  <code class="ruby"> # Provides the syntax option:</code>
14635
14641
  </li>
14636
14642
 
14637
- <li class="never" data-hits="" data-linenumber="93">
14643
+ <li class="never" data-hits="" data-linenumber="94">
14638
14644
 
14639
14645
 
14640
14646
  <code class="ruby"> # p.(x,y,z)</code>
14641
14647
  </li>
14642
14648
 
14643
- <li class="never" data-hits="" data-linenumber="94">
14649
+ <li class="never" data-hits="" data-linenumber="95">
14644
14650
 
14645
14651
 
14646
14652
  <code class="ruby"> # for</code>
14647
14653
  </li>
14648
14654
 
14649
- <li class="never" data-hits="" data-linenumber="95">
14655
+ <li class="never" data-hits="" data-linenumber="96">
14650
14656
 
14651
14657
 
14652
14658
  <code class="ruby"> # p.arguments(x,y,z)</code>
14653
14659
  </li>
14654
14660
 
14655
- <li class="never" data-hits="" data-linenumber="96">
14661
+ <li class="never" data-hits="" data-linenumber="97">
14656
14662
 
14657
14663
 
14658
14664
  <code class="ruby"> # @return [Porolog::Arguments] Arguments of the Predicate with the given arguments.</code>
14659
14665
  </li>
14660
14666
 
14661
- <li class="covered" data-hits="1" data-linenumber="97">
14667
+ <li class="covered" data-hits="1" data-linenumber="98">
14662
14668
  <span class="hits">1</span>
14663
14669
 
14664
14670
  <code class="ruby"> def call(*args, &amp;block)</code>
14665
14671
  </li>
14666
14672
 
14667
- <li class="covered" data-hits="619" data-linenumber="98">
14673
+ <li class="covered" data-hits="619" data-linenumber="99">
14668
14674
  <span class="hits">619</span>
14669
14675
 
14670
14676
  <code class="ruby"> Arguments.new(self, args, &amp;block)</code>
14671
14677
  </li>
14672
14678
 
14673
- <li class="never" data-hits="" data-linenumber="99">
14679
+ <li class="never" data-hits="" data-linenumber="100">
14674
14680
 
14675
14681
 
14676
14682
  <code class="ruby"> end</code>
14677
14683
  </li>
14678
14684
 
14679
- <li class="never" data-hits="" data-linenumber="100">
14685
+ <li class="never" data-hits="" data-linenumber="101">
14680
14686
 
14681
14687
 
14682
14688
  <code class="ruby"> </code>
14683
14689
  </li>
14684
14690
 
14685
- <li class="never" data-hits="" data-linenumber="101">
14691
+ <li class="never" data-hits="" data-linenumber="102">
14686
14692
 
14687
14693
 
14688
14694
  <code class="ruby"> # Create Arguments for the Predicate.</code>
14689
14695
  </li>
14690
14696
 
14691
- <li class="never" data-hits="" data-linenumber="102">
14697
+ <li class="never" data-hits="" data-linenumber="103">
14698
+
14699
+
14700
+ <code class="ruby"> # @param args the args of the Predicate.</code>
14701
+ </li>
14702
+
14703
+ <li class="never" data-hits="" data-linenumber="104">
14704
+
14705
+
14706
+ <code class="ruby"> # @param block [Proc,nil] the block to be called when satisfying the Predicate.</code>
14707
+ </li>
14708
+
14709
+ <li class="never" data-hits="" data-linenumber="105">
14692
14710
 
14693
14711
 
14694
14712
  <code class="ruby"> # @return [Porolog::Arguments] Arguments of the Predicate with the given arguments.</code>
14695
14713
  </li>
14696
14714
 
14697
- <li class="covered" data-hits="1" data-linenumber="103">
14715
+ <li class="covered" data-hits="1" data-linenumber="106">
14698
14716
  <span class="hits">1</span>
14699
14717
 
14700
14718
  <code class="ruby"> def arguments(*args, &amp;block)</code>
14701
14719
  </li>
14702
14720
 
14703
- <li class="covered" data-hits="743" data-linenumber="104">
14721
+ <li class="covered" data-hits="743" data-linenumber="107">
14704
14722
  <span class="hits">743</span>
14705
14723
 
14706
14724
  <code class="ruby"> Arguments.new(self, args, &amp;block)</code>
14707
14725
  </li>
14708
14726
 
14709
- <li class="never" data-hits="" data-linenumber="105">
14727
+ <li class="never" data-hits="" data-linenumber="108">
14710
14728
 
14711
14729
 
14712
14730
  <code class="ruby"> end</code>
14713
14731
  </li>
14714
14732
 
14715
- <li class="never" data-hits="" data-linenumber="106">
14733
+ <li class="never" data-hits="" data-linenumber="109">
14716
14734
 
14717
14735
 
14718
14736
  <code class="ruby"> </code>
14719
14737
  </li>
14720
14738
 
14721
- <li class="never" data-hits="" data-linenumber="107">
14739
+ <li class="never" data-hits="" data-linenumber="110">
14722
14740
 
14723
14741
 
14724
14742
  <code class="ruby"> # Add a Rule to the Predicate.</code>
14725
14743
  </li>
14726
14744
 
14727
- <li class="never" data-hits="" data-linenumber="108">
14745
+ <li class="never" data-hits="" data-linenumber="111">
14728
14746
 
14729
14747
 
14730
14748
  <code class="ruby"> # @param rule [Object] a rule to add to the Predicate.</code>
14731
14749
  </li>
14732
14750
 
14733
- <li class="never" data-hits="" data-linenumber="109">
14751
+ <li class="never" data-hits="" data-linenumber="112">
14734
14752
 
14735
14753
 
14736
14754
  <code class="ruby"> # @return [Porolog::Predicate] the Predicate.</code>
14737
14755
  </li>
14738
14756
 
14739
- <li class="covered" data-hits="1" data-linenumber="110">
14757
+ <li class="covered" data-hits="1" data-linenumber="113">
14740
14758
  <span class="hits">1</span>
14741
14759
 
14742
14760
  <code class="ruby"> def &lt;&lt;(rule)</code>
14743
14761
  </li>
14744
14762
 
14745
- <li class="covered" data-hits="160" data-linenumber="111">
14763
+ <li class="covered" data-hits="160" data-linenumber="114">
14746
14764
  <span class="hits">160</span>
14747
14765
 
14748
14766
  <code class="ruby"> @rules &lt;&lt; rule</code>
14749
14767
  </li>
14750
14768
 
14751
- <li class="covered" data-hits="160" data-linenumber="112">
14769
+ <li class="covered" data-hits="160" data-linenumber="115">
14752
14770
  <span class="hits">160</span>
14753
14771
 
14754
14772
  <code class="ruby"> self</code>
14755
14773
  </li>
14756
14774
 
14757
- <li class="never" data-hits="" data-linenumber="113">
14775
+ <li class="never" data-hits="" data-linenumber="116">
14758
14776
 
14759
14777
 
14760
14778
  <code class="ruby"> end</code>
14761
14779
  </li>
14762
14780
 
14763
- <li class="never" data-hits="" data-linenumber="114">
14781
+ <li class="never" data-hits="" data-linenumber="117">
14764
14782
 
14765
14783
 
14766
14784
  <code class="ruby"> </code>
14767
14785
  </li>
14768
14786
 
14769
- <li class="never" data-hits="" data-linenumber="115">
14787
+ <li class="never" data-hits="" data-linenumber="118">
14770
14788
 
14771
14789
 
14772
14790
  <code class="ruby"> # A pretty print String of the Predicate.</code>
14773
14791
  </li>
14774
14792
 
14775
- <li class="never" data-hits="" data-linenumber="116">
14793
+ <li class="never" data-hits="" data-linenumber="119">
14776
14794
 
14777
14795
 
14778
14796
  <code class="ruby"> # @return [String] the Predicate as a String.</code>
14779
14797
  </li>
14780
14798
 
14781
- <li class="covered" data-hits="1" data-linenumber="117">
14799
+ <li class="covered" data-hits="1" data-linenumber="120">
14782
14800
  <span class="hits">1</span>
14783
14801
 
14784
14802
  <code class="ruby"> def inspect</code>
14785
14803
  </li>
14786
14804
 
14787
- <li class="covered" data-hits="5" data-linenumber="118">
14805
+ <li class="covered" data-hits="5" data-linenumber="121">
14788
14806
  <span class="hits">5</span>
14789
14807
 
14790
14808
  <code class="ruby"> if @rules.size == 1</code>
14791
14809
  </li>
14792
14810
 
14793
- <li class="covered" data-hits="3" data-linenumber="119">
14811
+ <li class="covered" data-hits="3" data-linenumber="122">
14794
14812
  <span class="hits">3</span>
14795
14813
 
14796
14814
  <code class="ruby"> &quot;#{@name}:-#{@rules.first.inspect}&quot;</code>
14797
14815
  </li>
14798
14816
 
14799
- <li class="never" data-hits="" data-linenumber="120">
14817
+ <li class="never" data-hits="" data-linenumber="123">
14800
14818
 
14801
14819
 
14802
14820
  <code class="ruby"> else</code>
14803
14821
  </li>
14804
14822
 
14805
- <li class="covered" data-hits="2" data-linenumber="121">
14823
+ <li class="covered" data-hits="2" data-linenumber="124">
14806
14824
  <span class="hits">2</span>
14807
14825
 
14808
14826
  <code class="ruby"> @rules.each_with_object([&quot;#{@name}:-&quot;]) do |rule, lines|</code>
14809
14827
  </li>
14810
14828
 
14811
- <li class="covered" data-hits="2" data-linenumber="122">
14829
+ <li class="covered" data-hits="2" data-linenumber="125">
14812
14830
  <span class="hits">2</span>
14813
14831
 
14814
14832
  <code class="ruby"> lines &lt;&lt; rule.inspect</code>
14815
14833
  </li>
14816
14834
 
14817
- <li class="never" data-hits="" data-linenumber="123">
14835
+ <li class="never" data-hits="" data-linenumber="126">
14818
14836
 
14819
14837
 
14820
14838
  <code class="ruby"> end.join(&quot;\n&quot;)</code>
14821
14839
  </li>
14822
14840
 
14823
- <li class="never" data-hits="" data-linenumber="124">
14841
+ <li class="never" data-hits="" data-linenumber="127">
14824
14842
 
14825
14843
 
14826
14844
  <code class="ruby"> end</code>
14827
14845
  </li>
14828
14846
 
14829
- <li class="never" data-hits="" data-linenumber="125">
14847
+ <li class="never" data-hits="" data-linenumber="128">
14830
14848
 
14831
14849
 
14832
14850
  <code class="ruby"> end</code>
14833
14851
  </li>
14834
14852
 
14835
- <li class="never" data-hits="" data-linenumber="126">
14853
+ <li class="never" data-hits="" data-linenumber="129">
14836
14854
 
14837
14855
 
14838
14856
  <code class="ruby"> </code>
14839
14857
  </li>
14840
14858
 
14841
- <li class="never" data-hits="" data-linenumber="127">
14859
+ <li class="never" data-hits="" data-linenumber="130">
14842
14860
 
14843
14861
 
14844
14862
  <code class="ruby"> # Satisfy the Predicate within the supplied Goal.</code>
14845
14863
  </li>
14846
14864
 
14847
- <li class="never" data-hits="" data-linenumber="128">
14865
+ <li class="never" data-hits="" data-linenumber="131">
14848
14866
 
14849
14867
 
14850
14868
  <code class="ruby"> # Satisfy of each rule of the Predicate is called with the Goal and success block.</code>
14851
14869
  </li>
14852
14870
 
14853
- <li class="never" data-hits="" data-linenumber="129">
14871
+ <li class="never" data-hits="" data-linenumber="132">
14854
14872
 
14855
14873
 
14856
14874
  <code class="ruby"> # @param goal [Porolog::Goal] the Goal within which to satisfy the Predicate.</code>
14857
14875
  </li>
14858
14876
 
14859
- <li class="never" data-hits="" data-linenumber="130">
14877
+ <li class="never" data-hits="" data-linenumber="133">
14860
14878
 
14861
14879
 
14862
14880
  <code class="ruby"> # @param block [Proc] the block to be called each time a Rule of the Predicate is satisfied.</code>
14863
14881
  </li>
14864
14882
 
14865
- <li class="never" data-hits="" data-linenumber="131">
14883
+ <li class="never" data-hits="" data-linenumber="134">
14866
14884
 
14867
14885
 
14868
14886
  <code class="ruby"> # @return [Boolean] whether any Rule was satisfied.</code>
14869
14887
  </li>
14870
14888
 
14871
- <li class="covered" data-hits="1" data-linenumber="132">
14889
+ <li class="covered" data-hits="1" data-linenumber="135">
14872
14890
  <span class="hits">1</span>
14873
14891
 
14874
14892
  <code class="ruby"> def satisfy(goal, &amp;block)</code>
14875
14893
  </li>
14876
14894
 
14877
- <li class="covered" data-hits="3934" data-linenumber="133">
14895
+ <li class="covered" data-hits="3934" data-linenumber="136">
14878
14896
  <span class="hits">3934</span>
14879
14897
 
14880
14898
  <code class="ruby"> if builtin?</code>
14881
14899
  </li>
14882
14900
 
14883
- <li class="covered" data-hits="2497" data-linenumber="134">
14901
+ <li class="covered" data-hits="2497" data-linenumber="137">
14884
14902
  <span class="hits">2497</span>
14885
14903
 
14886
14904
  <code class="ruby"> satisfy_builtin(goal, &amp;block)</code>
14887
14905
  </li>
14888
14906
 
14889
- <li class="never" data-hits="" data-linenumber="135">
14907
+ <li class="never" data-hits="" data-linenumber="138">
14890
14908
 
14891
14909
 
14892
14910
  <code class="ruby"> else</code>
14893
14911
  </li>
14894
14912
 
14895
- <li class="covered" data-hits="1437" data-linenumber="136">
14913
+ <li class="covered" data-hits="1437" data-linenumber="139">
14896
14914
  <span class="hits">1437</span>
14897
14915
 
14898
14916
  <code class="ruby"> satisfied = false</code>
14899
14917
  </li>
14900
14918
 
14901
- <li class="covered" data-hits="1437" data-linenumber="137">
14919
+ <li class="covered" data-hits="1437" data-linenumber="140">
14902
14920
  <span class="hits">1437</span>
14903
14921
 
14904
14922
  <code class="ruby"> @rules.each do |rule|</code>
14905
14923
  </li>
14906
14924
 
14907
- <li class="covered" data-hits="2588" data-linenumber="138">
14925
+ <li class="covered" data-hits="2588" data-linenumber="141">
14908
14926
  <span class="hits">2588</span>
14909
14927
 
14910
14928
  <code class="ruby"> rule.satisfy(goal) do |subgoal|</code>
14911
14929
  </li>
14912
14930
 
14913
- <li class="covered" data-hits="1464" data-linenumber="139">
14931
+ <li class="covered" data-hits="1464" data-linenumber="142">
14914
14932
  <span class="hits">1464</span>
14915
14933
 
14916
14934
  <code class="ruby"> satisfied = true</code>
14917
14935
  </li>
14918
14936
 
14919
- <li class="covered" data-hits="1464" data-linenumber="140">
14937
+ <li class="covered" data-hits="1464" data-linenumber="143">
14920
14938
  <span class="hits">1464</span>
14921
14939
 
14922
14940
  <code class="ruby"> block.call(subgoal)</code>
14923
14941
  </li>
14924
14942
 
14925
- <li class="never" data-hits="" data-linenumber="141">
14943
+ <li class="never" data-hits="" data-linenumber="144">
14926
14944
 
14927
14945
 
14928
14946
  <code class="ruby"> end</code>
14929
14947
  </li>
14930
14948
 
14931
- <li class="covered" data-hits="2574" data-linenumber="142">
14949
+ <li class="covered" data-hits="2574" data-linenumber="145">
14932
14950
  <span class="hits">2574</span>
14933
14951
 
14934
14952
  <code class="ruby"> break if goal.terminated?</code>
14935
14953
  </li>
14936
14954
 
14937
- <li class="never" data-hits="" data-linenumber="143">
14955
+ <li class="never" data-hits="" data-linenumber="146">
14938
14956
 
14939
14957
 
14940
14958
  <code class="ruby"> end</code>
14941
14959
  </li>
14942
14960
 
14943
- <li class="covered" data-hits="1423" data-linenumber="144">
14961
+ <li class="covered" data-hits="1423" data-linenumber="147">
14944
14962
  <span class="hits">1423</span>
14945
14963
 
14946
14964
  <code class="ruby"> satisfied</code>
14947
14965
  </li>
14948
14966
 
14949
- <li class="never" data-hits="" data-linenumber="145">
14967
+ <li class="never" data-hits="" data-linenumber="148">
14950
14968
 
14951
14969
 
14952
14970
  <code class="ruby"> end</code>
14953
14971
  </li>
14954
14972
 
14955
- <li class="never" data-hits="" data-linenumber="146">
14973
+ <li class="never" data-hits="" data-linenumber="149">
14956
14974
 
14957
14975
 
14958
14976
  <code class="ruby"> end</code>
14959
14977
  </li>
14960
14978
 
14961
- <li class="never" data-hits="" data-linenumber="147">
14979
+ <li class="never" data-hits="" data-linenumber="150">
14962
14980
 
14963
14981
 
14964
14982
  <code class="ruby"> </code>
14965
14983
  </li>
14966
14984
 
14967
- <li class="never" data-hits="" data-linenumber="148">
14985
+ <li class="never" data-hits="" data-linenumber="151">
14968
14986
 
14969
14987
 
14970
14988
  <code class="ruby"> # @return [Boolean] whether the Predicate is a builtin predicate.</code>
14971
14989
  </li>
14972
14990
 
14973
- <li class="covered" data-hits="1" data-linenumber="149">
14991
+ <li class="covered" data-hits="1" data-linenumber="152">
14974
14992
  <span class="hits">1</span>
14975
14993
 
14976
14994
  <code class="ruby"> def builtin?</code>
14977
14995
  </li>
14978
14996
 
14979
- <li class="covered" data-hits="3936" data-linenumber="150">
14997
+ <li class="covered" data-hits="3936" data-linenumber="153">
14980
14998
  <span class="hits">3936</span>
14981
14999
 
14982
15000
  <code class="ruby"> @builtin</code>
14983
15001
  </li>
14984
15002
 
14985
- <li class="never" data-hits="" data-linenumber="151">
15003
+ <li class="never" data-hits="" data-linenumber="154">
14986
15004
 
14987
15005
 
14988
15006
  <code class="ruby"> end</code>
14989
15007
  </li>
14990
15008
 
14991
- <li class="never" data-hits="" data-linenumber="152">
15009
+ <li class="never" data-hits="" data-linenumber="155">
14992
15010
 
14993
15011
 
14994
15012
  <code class="ruby"> </code>
14995
15013
  </li>
14996
15014
 
14997
- <li class="never" data-hits="" data-linenumber="153">
15015
+ <li class="never" data-hits="" data-linenumber="156">
14998
15016
 
14999
15017
 
15000
15018
  <code class="ruby"> # Satisfy the builtin Predicate within the supplied Goal.</code>
15001
15019
  </li>
15002
15020
 
15003
- <li class="never" data-hits="" data-linenumber="154">
15021
+ <li class="never" data-hits="" data-linenumber="157">
15004
15022
 
15005
15023
 
15006
15024
  <code class="ruby"> # Call the builtin Predicate method with the Goal and success block.</code>
15007
15025
  </li>
15008
15026
 
15009
- <li class="never" data-hits="" data-linenumber="155">
15027
+ <li class="never" data-hits="" data-linenumber="158">
15010
15028
 
15011
15029
 
15012
15030
  <code class="ruby"> # The arguments and block are extracted from the Goal&#39;s Arguments.</code>
15013
15031
  </li>
15014
15032
 
15015
- <li class="never" data-hits="" data-linenumber="156">
15033
+ <li class="never" data-hits="" data-linenumber="159">
15016
15034
 
15017
15035
 
15018
15036
  <code class="ruby"> # @param goal [Porolog::Goal] the Goal within which to satisfy the Predicate.</code>
15019
15037
  </li>
15020
15038
 
15021
- <li class="never" data-hits="" data-linenumber="157">
15039
+ <li class="never" data-hits="" data-linenumber="160">
15022
15040
 
15023
15041
 
15024
15042
  <code class="ruby"> # @param block [Proc] the block to be called each time a Rule of the Predicate is satisfied.</code>
15025
15043
  </li>
15026
15044
 
15027
- <li class="never" data-hits="" data-linenumber="158">
15045
+ <li class="never" data-hits="" data-linenumber="161">
15028
15046
 
15029
15047
 
15030
15048
  <code class="ruby"> # @return [Boolean] whether any Rule was satisfied.</code>
15031
15049
  </li>
15032
15050
 
15033
- <li class="covered" data-hits="1" data-linenumber="159">
15051
+ <li class="covered" data-hits="1" data-linenumber="162">
15034
15052
  <span class="hits">1</span>
15035
15053
 
15036
15054
  <code class="ruby"> def satisfy_builtin(goal, &amp;block)</code>
15037
15055
  </li>
15038
15056
 
15039
- <li class="covered" data-hits="2498" data-linenumber="160">
15057
+ <li class="covered" data-hits="2498" data-linenumber="163">
15040
15058
  <span class="hits">2498</span>
15041
15059
 
15042
15060
  <code class="ruby"> predicate = goal.arguments.predicate.name</code>
15043
15061
  </li>
15044
15062
 
15045
- <li class="covered" data-hits="2498" data-linenumber="161">
15063
+ <li class="covered" data-hits="2498" data-linenumber="164">
15046
15064
  <span class="hits">2498</span>
15047
15065
 
15048
15066
  <code class="ruby"> arguments = goal.arguments.arguments</code>
15049
15067
  </li>
15050
15068
 
15051
- <li class="covered" data-hits="2498" data-linenumber="162">
15069
+ <li class="covered" data-hits="2498" data-linenumber="165">
15052
15070
  <span class="hits">2498</span>
15053
15071
 
15054
15072
  <code class="ruby"> arg_block = goal.arguments.block</code>
15055
15073
  </li>
15056
15074
 
15057
- <li class="never" data-hits="" data-linenumber="163">
15075
+ <li class="never" data-hits="" data-linenumber="166">
15058
15076
 
15059
15077
 
15060
15078
  <code class="ruby"> </code>
15061
15079
  </li>
15062
15080
 
15063
- <li class="covered" data-hits="2498" data-linenumber="164">
15081
+ <li class="covered" data-hits="2498" data-linenumber="167">
15064
15082
  <span class="hits">2498</span>
15065
15083
 
15066
15084
  <code class="ruby"> Predicate.call_builtin(predicate, goal, block, *arguments, &amp;arg_block)</code>
15067
15085
  </li>
15068
15086
 
15069
- <li class="never" data-hits="" data-linenumber="165">
15087
+ <li class="never" data-hits="" data-linenumber="168">
15070
15088
 
15071
15089
 
15072
15090
  <code class="ruby"> end</code>
15073
15091
  </li>
15074
15092
 
15075
- <li class="never" data-hits="" data-linenumber="166">
15093
+ <li class="never" data-hits="" data-linenumber="169">
15076
15094
 
15077
15095
 
15078
15096
  <code class="ruby"> </code>
15079
15097
  </li>
15080
15098
 
15081
- <li class="never" data-hits="" data-linenumber="167">
15099
+ <li class="never" data-hits="" data-linenumber="170">
15082
15100
 
15083
15101
 
15084
15102
  <code class="ruby"> # Call a builtin predicate</code>
15085
15103
  </li>
15086
15104
 
15087
- <li class="never" data-hits="" data-linenumber="168">
15105
+ <li class="never" data-hits="" data-linenumber="171">
15088
15106
 
15089
15107
 
15090
15108
  <code class="ruby"> # @param predicate [Symbol] the name of the predicate to call.</code>
15091
15109
  </li>
15092
15110
 
15093
- <li class="never" data-hits="" data-linenumber="169">
15111
+ <li class="never" data-hits="" data-linenumber="172">
15094
15112
 
15095
15113
 
15096
15114
  <code class="ruby"> # @param args [Array&lt;Object&gt;] arguments for the predicate call.</code>
15097
15115
  </li>
15098
15116
 
15099
- <li class="never" data-hits="" data-linenumber="170">
15117
+ <li class="never" data-hits="" data-linenumber="173">
15100
15118
 
15101
15119
 
15102
15120
  <code class="ruby"> # @param arg_block [Proc] the block provided in the Arguments of the Predicate.</code>
15103
15121
  </li>
15104
15122
 
15105
- <li class="never" data-hits="" data-linenumber="171">
15123
+ <li class="never" data-hits="" data-linenumber="174">
15106
15124
 
15107
15125
 
15108
15126
  <code class="ruby"> # @return [Boolean] whether the predicate was satisfied.</code>
15109
15127
  </li>
15110
15128
 
15111
- <li class="covered" data-hits="1" data-linenumber="172">
15129
+ <li class="covered" data-hits="1" data-linenumber="175">
15112
15130
  <span class="hits">1</span>
15113
15131
 
15114
15132
  <code class="ruby"> def self.call_builtin(predicate, *args, &amp;arg_block)</code>
15115
15133
  </li>
15116
15134
 
15117
- <li class="covered" data-hits="2562" data-linenumber="173">
15135
+ <li class="covered" data-hits="2562" data-linenumber="176">
15118
15136
  <span class="hits">2562</span>
15119
15137
 
15120
15138
  <code class="ruby"> Porolog::Predicate::Builtin.instance_method(predicate).bind(self).call(*args, &amp;arg_block)</code>
15121
15139
  </li>
15122
15140
 
15123
- <li class="never" data-hits="" data-linenumber="174">
15141
+ <li class="never" data-hits="" data-linenumber="177">
15124
15142
 
15125
15143
 
15126
15144
  <code class="ruby"> end</code>
15127
15145
  </li>
15128
15146
 
15129
- <li class="never" data-hits="" data-linenumber="175">
15147
+ <li class="never" data-hits="" data-linenumber="178">
15130
15148
 
15131
15149
 
15132
15150
  <code class="ruby"> </code>
15133
15151
  </li>
15134
15152
 
15135
- <li class="never" data-hits="" data-linenumber="176">
15153
+ <li class="never" data-hits="" data-linenumber="179">
15136
15154
 
15137
15155
 
15138
15156
  <code class="ruby"> end</code>
15139
15157
  </li>
15140
15158
 
15141
- <li class="never" data-hits="" data-linenumber="177">
15159
+ <li class="never" data-hits="" data-linenumber="180">
15142
15160
 
15143
15161
 
15144
15162
  <code class="ruby"></code>
15145
15163
  </li>
15146
15164
 
15147
- <li class="never" data-hits="" data-linenumber="178">
15165
+ <li class="never" data-hits="" data-linenumber="181">
15148
15166
 
15149
15167
 
15150
15168
  <code class="ruby">end</code>
@@ -24276,20 +24294,20 @@
24276
24294
  <code class="ruby"> def remove</code>
24277
24295
  </li>
24278
24296
 
24279
- <li class="covered" data-hits="31379" data-linenumber="265">
24280
- <span class="hits">31379</span>
24297
+ <li class="covered" data-hits="31382" data-linenumber="265">
24298
+ <span class="hits">31382</span>
24281
24299
 
24282
24300
  <code class="ruby"> @instantiations.dup.each(&amp;:remove)</code>
24283
24301
  </li>
24284
24302
 
24285
- <li class="covered" data-hits="31379" data-linenumber="266">
24286
- <span class="hits">31379</span>
24303
+ <li class="covered" data-hits="31382" data-linenumber="266">
24304
+ <span class="hits">31382</span>
24287
24305
 
24288
24306
  <code class="ruby"> @instantiations[0..-1] = []</code>
24289
24307
  </li>
24290
24308
 
24291
- <li class="covered" data-hits="31379" data-linenumber="267">
24292
- <span class="hits">31379</span>
24309
+ <li class="covered" data-hits="31382" data-linenumber="267">
24310
+ <span class="hits">31382</span>
24293
24311
 
24294
24312
  <code class="ruby"> true</code>
24295
24313
  </li>
@@ -1056,7 +1056,7 @@
1056
1056
  </div>
1057
1057
 
1058
1058
  <div id="footer">
1059
- Generated on Thu Aug 6 22:13:58 2020 by
1059
+ Generated on Sat Aug 8 08:28:24 2020 by
1060
1060
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1061
1061
  0.9.19 (ruby-2.6.5).
1062
1062
  </div>
@@ -664,7 +664,7 @@
664
664
  </div>
665
665
 
666
666
  <div id="footer">
667
- Generated on Thu Aug 6 22:13:58 2020 by
667
+ Generated on Sat Aug 8 08:28:24 2020 by
668
668
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
669
669
  0.9.19 (ruby-2.6.5).
670
670
  </div>
@@ -4406,7 +4406,7 @@
4406
4406
  </div>
4407
4407
 
4408
4408
  <div id="footer">
4409
- Generated on Thu Aug 6 22:13:57 2020 by
4409
+ Generated on Sat Aug 8 08:28:23 2020 by
4410
4410
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
4411
4411
  0.9.19 (ruby-2.6.5).
4412
4412
  </div>
@@ -491,7 +491,7 @@
491
491
  </div>
492
492
 
493
493
  <div id="footer">
494
- Generated on Thu Aug 6 22:13:58 2020 by
494
+ Generated on Sat Aug 8 08:28:24 2020 by
495
495
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
496
496
  0.9.19 (ruby-2.6.5).
497
497
  </div>
@@ -451,7 +451,7 @@
451
451
  </div>
452
452
 
453
453
  <div id="footer">
454
- Generated on Thu Aug 6 22:13:56 2020 by
454
+ Generated on Sat Aug 8 08:28:23 2020 by
455
455
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
456
456
  0.9.19 (ruby-2.6.5).
457
457
  </div>
@@ -326,7 +326,7 @@
326
326
  </div></div>
327
327
 
328
328
  <div id="footer">
329
- Generated on Thu Aug 6 22:13:57 2020 by
329
+ Generated on Sat Aug 8 08:28:23 2020 by
330
330
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
331
331
  0.9.19 (ruby-2.6.5).
332
332
  </div>
@@ -326,7 +326,7 @@
326
326
  </div></div>
327
327
 
328
328
  <div id="footer">
329
- Generated on Thu Aug 6 22:13:57 2020 by
329
+ Generated on Sat Aug 8 08:28:23 2020 by
330
330
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
331
331
  0.9.19 (ruby-2.6.5).
332
332
  </div>
@@ -102,7 +102,7 @@
102
102
  </div>
103
103
 
104
104
  <div id="footer">
105
- Generated on Thu Aug 6 22:13:57 2020 by
105
+ Generated on Sat Aug 8 08:28:23 2020 by
106
106
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
107
107
  0.9.19 (ruby-2.6.5).
108
108
  </div>
@@ -11,9 +11,9 @@
11
11
  module Porolog
12
12
 
13
13
  # The most recent version of the Porolog gem.
14
- VERSION = '1.0.1'.freeze
14
+ VERSION = '1.0.2'.freeze
15
15
  # The most recent date of when the VERSION changed.
16
- VERSION_DATE = '2020-08-06'.freeze
16
+ VERSION_DATE = '2020-08-08'.freeze
17
17
 
18
18
  # Represents an unknown tail of a list.
19
19
  UNKNOWN_TAIL = Object.new
@@ -83,8 +83,9 @@ module Porolog
83
83
  end
84
84
 
85
85
  # Creates a new Predicate, or returns an existing Predicate if one already exists with the given name in the current scope.
86
+ # @param args the args to be passed to initialize, first of which is the name of the predicate.
86
87
  # @return [Porolog::Predicate] a new or existing Predicate.
87
- def self.new(*args)
88
+ def self.new(*args, **)
88
89
  scope[args.first.to_sym] || super
89
90
  end
90
91
 
@@ -99,6 +100,8 @@ module Porolog
99
100
  end
100
101
 
101
102
  # Create Arguments for the Predicate.
103
+ # @param args the args of the Predicate.
104
+ # @param block [Proc,nil] the block to be called when satisfying the Predicate.
102
105
  # @return [Porolog::Arguments] Arguments of the Predicate with the given arguments.
103
106
  def arguments(*args, &block)
104
107
  Arguments.new(self, args, &block)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: porolog
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Luis Esteban
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-06 00:00:00.000000000 Z
11
+ date: 2020-08-08 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Implements a Prolog inference engine using Plain Old Ruby Objects
14
14
  email: