porolog 1.0.1 → 1.0.2

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 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: