fbe 0.0.46 → 0.0.48
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/Gemfile.lock +1 -1
 - data/lib/fbe/fb.rb +4 -3
 - data/lib/fbe/repeatedly.rb +2 -1
 - data/lib/fbe.rb +1 -1
 - data/test/fbe/test_fb.rb +27 -0
 - data/test/fbe/test_repeatedly.rb +5 -2
 - 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: 996eb38d3f323f055a2ea039e1d6079b7d3c93b45f89fc98c59a9fee5f2de496
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 7f0e93d769434e73f322f0fc4e7307e65eab8b78fed7572493706deba7114256
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: a61ca5c4187a0ad95525df5159b2b57ce31e78fec1553933e8798223dba1de968298fb54bfaae5c865a335bd7cd22f6557477937a4ce3002a25b4e72271b162e
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: cc0c9b96673b4861404ac65985fbf11b3fda7acc6f7bbc1ac8d04d69ad40adce46d78baddd6297cfae353b9b0f3115344bc7a967bf7c19cd173c8b890d1c32d7
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    
    
        data/lib/fbe/fb.rb
    CHANGED
    
    | 
         @@ -40,11 +40,12 @@ def Fbe.fb(fb: $fb, global: $global, options: $options, loog: $loog) 
     | 
|
| 
       40 
40 
     | 
    
         
             
                    uid: '_id'
         
     | 
| 
       41 
41 
     | 
    
         
             
                  )
         
     | 
| 
       42 
42 
     | 
    
         
             
                  fbe =
         
     | 
| 
       43 
     | 
    
         
            -
                    Factbase::Pre.new(fbe) do |f|
         
     | 
| 
       44 
     | 
    
         
            -
                      max =  
     | 
| 
      
 43 
     | 
    
         
            +
                    Factbase::Pre.new(fbe) do |f, fbt|
         
     | 
| 
      
 44 
     | 
    
         
            +
                      max = fbt.query('(eq _id (max _id))').each.to_a.first
         
     | 
| 
       45 
45 
     | 
    
         
             
                      f._id = (max.nil? ? 0 : max._id) + 1
         
     | 
| 
       46 
46 
     | 
    
         
             
                      f._time = Time.now
         
     | 
| 
       47 
     | 
    
         
            -
                      f._version = "#{Factbase::VERSION}/#{Judges::VERSION}/#{options. 
     | 
| 
      
 47 
     | 
    
         
            +
                      f._version = "#{Factbase::VERSION}/#{Judges::VERSION}/#{options.action_version}"
         
     | 
| 
      
 48 
     | 
    
         
            +
                      f._job = options.job_id unless options.job_id.nil?
         
     | 
| 
       48 
49 
     | 
    
         
             
                    end
         
     | 
| 
       49 
50 
     | 
    
         
             
                  Factbase::Looged.new(fbe, loog)
         
     | 
| 
       50 
51 
     | 
    
         
             
                end
         
     | 
    
        data/lib/fbe/repeatedly.rb
    CHANGED
    
    | 
         @@ -24,6 +24,7 @@ 
     | 
|
| 
       24 
24 
     | 
    
         | 
| 
       25 
25 
     | 
    
         
             
            require_relative '../fbe'
         
     | 
| 
       26 
26 
     | 
    
         
             
            require_relative 'fb'
         
     | 
| 
      
 27 
     | 
    
         
            +
            require_relative 'overwrite'
         
     | 
| 
       27 
28 
     | 
    
         | 
| 
       28 
29 
     | 
    
         
             
            # Run the block provided every X hours.
         
     | 
| 
       29 
30 
     | 
    
         
             
            #
         
     | 
| 
         @@ -46,5 +47,5 @@ def Fbe.repeatedly(area, p_every_hours, fb: Fbe.fb, judge: $judge, loog: $loog, 
     | 
|
| 
       46 
47 
     | 
    
         
             
                f.what = judge
         
     | 
| 
       47 
48 
     | 
    
         
             
              end
         
     | 
| 
       48 
49 
     | 
    
         
             
              Fbe.overwrite(f, 'when', Time.now)
         
     | 
| 
       49 
     | 
    
         
            -
              yield  
     | 
| 
      
 50 
     | 
    
         
            +
              yield fb.query("(and (eq what '#{judge}'))").each.to_a.first
         
     | 
| 
       50 
51 
     | 
    
         
             
            end
         
     | 
    
        data/lib/fbe.rb
    CHANGED
    
    
    
        data/test/fbe/test_fb.rb
    CHANGED
    
    | 
         @@ -46,4 +46,31 @@ class TestFb < Minitest::Test 
     | 
|
| 
       46 
46 
     | 
    
         
             
                stdout = $loog.to_s
         
     | 
| 
       47 
47 
     | 
    
         
             
                assert(stdout.include?('Inserted new fact #1'), stdout)
         
     | 
| 
       48 
48 
     | 
    
         
             
              end
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
              def test_increment_id_in_transaction
         
     | 
| 
      
 51 
     | 
    
         
            +
                $fb = Factbase.new
         
     | 
| 
      
 52 
     | 
    
         
            +
                $global = {}
         
     | 
| 
      
 53 
     | 
    
         
            +
                $options = Judges::Options.new
         
     | 
| 
      
 54 
     | 
    
         
            +
                $loog = Loog::Buffer.new
         
     | 
| 
      
 55 
     | 
    
         
            +
                Fbe.fb.txn do |fbt|
         
     | 
| 
      
 56 
     | 
    
         
            +
                  fbt.insert
         
     | 
| 
      
 57 
     | 
    
         
            +
                  fbt.insert
         
     | 
| 
      
 58 
     | 
    
         
            +
                end
         
     | 
| 
      
 59 
     | 
    
         
            +
                arr = Fbe.fb.query('(always)').each.to_a
         
     | 
| 
      
 60 
     | 
    
         
            +
                assert_equal(1, arr[0]._id)
         
     | 
| 
      
 61 
     | 
    
         
            +
                assert_equal(2, arr[1]._id)
         
     | 
| 
      
 62 
     | 
    
         
            +
              end
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
              def test_adds_meta_properties
         
     | 
| 
      
 65 
     | 
    
         
            +
                $fb = Factbase.new
         
     | 
| 
      
 66 
     | 
    
         
            +
                $global = {}
         
     | 
| 
      
 67 
     | 
    
         
            +
                $options = Judges::Options.new('JOB_ID' => 42)
         
     | 
| 
      
 68 
     | 
    
         
            +
                $loog = Loog::Buffer.new
         
     | 
| 
      
 69 
     | 
    
         
            +
                Fbe.fb.insert
         
     | 
| 
      
 70 
     | 
    
         
            +
                f = Fbe.fb.query('(always)').each.to_a.first
         
     | 
| 
      
 71 
     | 
    
         
            +
                assert(!f._id.nil?)
         
     | 
| 
      
 72 
     | 
    
         
            +
                assert(!f._time.nil?)
         
     | 
| 
      
 73 
     | 
    
         
            +
                assert(!f._version.nil?)
         
     | 
| 
      
 74 
     | 
    
         
            +
                assert(!f._job.nil?)
         
     | 
| 
      
 75 
     | 
    
         
            +
              end
         
     | 
| 
       49 
76 
     | 
    
         
             
            end
         
     | 
    
        data/test/fbe/test_repeatedly.rb
    CHANGED
    
    | 
         @@ -25,6 +25,7 @@ 
     | 
|
| 
       25 
25 
     | 
    
         
             
            require 'minitest/autorun'
         
     | 
| 
       26 
26 
     | 
    
         
             
            require 'loog'
         
     | 
| 
       27 
27 
     | 
    
         
             
            require 'factbase'
         
     | 
| 
      
 28 
     | 
    
         
            +
            require 'judges/options'
         
     | 
| 
       28 
29 
     | 
    
         
             
            require_relative '../test__helper'
         
     | 
| 
       29 
30 
     | 
    
         
             
            require_relative '../../lib/fbe/repeatedly'
         
     | 
| 
       30 
31 
     | 
    
         | 
| 
         @@ -35,14 +36,16 @@ require_relative '../../lib/fbe/repeatedly' 
     | 
|
| 
       35 
36 
     | 
    
         
             
            class TestRepeatedly < Minitest::Test
         
     | 
| 
       36 
37 
     | 
    
         
             
              def test_simple
         
     | 
| 
       37 
38 
     | 
    
         
             
                $fb = Factbase.new
         
     | 
| 
       38 
     | 
    
         
            -
                loog = Loog::NULL
         
     | 
| 
      
 39 
     | 
    
         
            +
                $loog = Loog::NULL
         
     | 
| 
      
 40 
     | 
    
         
            +
                $options = Judges::Options.new
         
     | 
| 
       39 
41 
     | 
    
         
             
                judge = 'test'
         
     | 
| 
       40 
42 
     | 
    
         
             
                $global = {}
         
     | 
| 
       41 
43 
     | 
    
         
             
                3.times do
         
     | 
| 
       42 
     | 
    
         
            -
                  Fbe.repeatedly('pmp', 'every_x_hours',  
     | 
| 
      
 44 
     | 
    
         
            +
                  Fbe.repeatedly('pmp', 'every_x_hours', judge:) do |f|
         
     | 
| 
       43 
45 
     | 
    
         
             
                    f.foo = 42
         
     | 
| 
       44 
46 
     | 
    
         
             
                  end
         
     | 
| 
       45 
47 
     | 
    
         
             
                end
         
     | 
| 
       46 
48 
     | 
    
         
             
                assert_equal(1, $fb.size)
         
     | 
| 
      
 49 
     | 
    
         
            +
                assert_equal(42, $fb.query('(always)').each.to_a.first.foo)
         
     | 
| 
       47 
50 
     | 
    
         
             
              end
         
     | 
| 
       48 
51 
     | 
    
         
             
            end
         
     |