rbbt-util 5.40.3 → 5.40.5
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/bin/rbbt +1 -1
 - data/lib/rbbt/resource/path.rb +10 -1
 - data/lib/rbbt/util/migrate.rb +1 -0
 - data/lib/rbbt/workflow/dependencies.rb +16 -10
 - data/lib/rbbt/workflow/step/accessor.rb +11 -0
 - data/lib/rbbt/workflow/step/info.rb +5 -1
 - data/lib/rbbt/workflow/step.rb +0 -3
 - data/lib/rbbt/workflow.rb +3 -1
 - data/share/rbbt_commands/tsv/write_excel +4 -3
 - data/share/rbbt_commands/workflow/cmd +8 -3
 - data/share/rbbt_commands/workflow/info +1 -0
 - metadata +3 -3
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: bc59a09644d58c21eb59f643cd04bd50d4fc81a494f024cef8af1ea26197a0e7
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 84c1669d61fce9e4a239ec7865aee04b67684f99911cc9e378b569517b819388
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: df0ae52fabfa8c84c0d4a18861912972ac44b347867580087842d1856d4558f7dd1d4e2b7d9b0b0ae23f766a7001516445662114e050c3054458190061caab5e
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 3e5c396193a6423d7c8afbb381c623844bf457d0a34ef329b7bfe6ac29f6a13841f23b9ce7c3bb051fdeeb35a2e72bfed16279aff52fb3a0ff1484b1587bb841
         
     | 
    
        data/bin/rbbt
    CHANGED
    
    
    
        data/lib/rbbt/resource/path.rb
    CHANGED
    
    | 
         @@ -359,7 +359,16 @@ module Path 
     | 
|
| 
       359 
359 
     | 
    
         
             
              end
         
     | 
| 
       360 
360 
     | 
    
         | 
| 
       361 
361 
     | 
    
         
             
              def list
         
     | 
| 
       362 
     | 
    
         
            -
                 
     | 
| 
      
 362 
     | 
    
         
            +
                begin
         
     | 
| 
      
 363 
     | 
    
         
            +
                  path = self.produce
         
     | 
| 
      
 364 
     | 
    
         
            +
                rescue Resource::ResourceNotFound => e
         
     | 
| 
      
 365 
     | 
    
         
            +
                  begin
         
     | 
| 
      
 366 
     | 
    
         
            +
                    path = self.set_extension('list').produce
         
     | 
| 
      
 367 
     | 
    
         
            +
                  rescue Resource::ResourceNotFound 
         
     | 
| 
      
 368 
     | 
    
         
            +
                    raise e
         
     | 
| 
      
 369 
     | 
    
         
            +
                  end
         
     | 
| 
      
 370 
     | 
    
         
            +
                end
         
     | 
| 
      
 371 
     | 
    
         
            +
                Open.read(path).split("\n")
         
     | 
| 
       363 
372 
     | 
    
         
             
              end
         
     | 
| 
       364 
373 
     | 
    
         | 
| 
       365 
374 
     | 
    
         
             
              def keys(field = 0, sep = "\t")
         
     | 
    
        data/lib/rbbt/util/migrate.rb
    CHANGED
    
    
| 
         @@ -165,7 +165,8 @@ module Workflow 
     | 
|
| 
       165 
165 
     | 
    
         
             
                               workflow, dep_task, options = dependency
         
     | 
| 
       166 
166 
     | 
    
         | 
| 
       167 
167 
     | 
    
         
             
                               if override_dependencies[workflow.to_s] && value = override_dependencies[workflow.to_s][dep_task]
         
     | 
| 
       168 
     | 
    
         
            -
                                 overriden = true if (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
      
 168 
     | 
    
         
            +
                                 overriden = true if (inputs.nil? || ! inputs[:not_overriden]) && (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
      
 169 
     | 
    
         
            +
                                 #overriden = true if (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
       169 
170 
     | 
    
         
             
                                 setup_override_dependency(value, workflow, dep_task)
         
     | 
| 
       170 
171 
     | 
    
         
             
                               else
         
     | 
| 
       171 
172 
     | 
    
         | 
| 
         @@ -189,21 +190,23 @@ module Workflow 
     | 
|
| 
       189 
190 
     | 
    
         
             
                                 job = workflow._job(dep_task, jobname, _inputs)
         
     | 
| 
       190 
191 
     | 
    
         
             
                                 ComputeDependency.setup(job, compute) if compute
         
     | 
| 
       191 
192 
     | 
    
         | 
| 
       192 
     | 
    
         
            -
                                 overriden = true if  
     | 
| 
      
 193 
     | 
    
         
            +
                                 overriden = true if Symbol === job.overriden? && (d.nil? || ! d[:not_overriden]) && (inputs.nil? || ! inputs[:not_overriden])
         
     | 
| 
       193 
194 
     | 
    
         | 
| 
       194 
195 
     | 
    
         
             
                                 job
         
     | 
| 
       195 
196 
     | 
    
         
             
                               end
         
     | 
| 
       196 
197 
     | 
    
         
             
                             when Step
         
     | 
| 
       197 
198 
     | 
    
         
             
                               job = dependency
         
     | 
| 
       198 
     | 
    
         
            -
                               overriden = true if  
     | 
| 
      
 199 
     | 
    
         
            +
                               overriden = true if Symbol === job.overriden? && (d.nil? || ! d[:not_overriden]) && (inputs.nil? || ! inputs[:not_overriden])
         
     | 
| 
       199 
200 
     | 
    
         
             
                               job
         
     | 
| 
       200 
201 
     | 
    
         
             
                             when Symbol
         
     | 
| 
       201 
202 
     | 
    
         
             
                               if override_dependencies[self.to_s] && value = override_dependencies[self.to_s][dependency]
         
     | 
| 
       202 
     | 
    
         
            -
                                 overriden = true if (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
      
 203 
     | 
    
         
            +
                                 overriden = true if (inputs.nil? || ! inputs[:not_overriden]) && (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
      
 204 
     | 
    
         
            +
                                 #overriden = true if (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
       203 
205 
     | 
    
         
             
                                 setup_override_dependency(value, self, dependency)
         
     | 
| 
       204 
206 
     | 
    
         
             
                               else
         
     | 
| 
       205 
207 
     | 
    
         
             
                                 job = _job(dependency, jobname, _inputs)
         
     | 
| 
       206 
     | 
    
         
            -
                                 overriden = true if  
     | 
| 
      
 208 
     | 
    
         
            +
                                 overriden = true if Symbol === job.overriden && (options.nil? || ! options[:not_overriden]) && (inputs.nil? || ! inputs[:not_overriden])
         
     | 
| 
      
 209 
     | 
    
         
            +
             
     | 
| 
       207 
210 
     | 
    
         
             
                                 job
         
     | 
| 
       208 
211 
     | 
    
         
             
                               end
         
     | 
| 
       209 
212 
     | 
    
         
             
                             when Proc
         
     | 
| 
         @@ -212,7 +215,8 @@ module Workflow 
     | 
|
| 
       212 
215 
     | 
    
         
             
                                 wf, task_name, options = orig_dep
         
     | 
| 
       213 
216 
     | 
    
         | 
| 
       214 
217 
     | 
    
         
             
                                 if override_dependencies[wf.to_s] && value = override_dependencies[wf.to_s][task_name]
         
     | 
| 
       215 
     | 
    
         
            -
                                   overriden = true if (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
      
 218 
     | 
    
         
            +
                                   overriden = true if (inputs.nil? || ! inputs[:not_overriden]) && (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
      
 219 
     | 
    
         
            +
                                   #overriden = true if (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
       216 
220 
     | 
    
         
             
                                   dep = setup_override_dependency(value, wf, task_name)
         
     | 
| 
       217 
221 
     | 
    
         
             
                                 else
         
     | 
| 
       218 
222 
     | 
    
         | 
| 
         @@ -243,7 +247,8 @@ module Workflow 
     | 
|
| 
       243 
247 
     | 
    
         
             
                                       d[:task] ||= task_name
         
     | 
| 
       244 
248 
     | 
    
         
             
                                       _override_dependencies = override_dependencies.merge(override_dependencies(d[:inputs] || {}))
         
     | 
| 
       245 
249 
     | 
    
         
             
                                       d = if _override_dependencies[d[:workflow].to_s] && value = _override_dependencies[d[:workflow].to_s][d[:task]]
         
     | 
| 
       246 
     | 
    
         
            -
                                             overriden = true if (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
      
 250 
     | 
    
         
            +
                                             overriden = true if (inputs.nil? || ! inputs[:not_overriden]) && (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
      
 251 
     | 
    
         
            +
                                             #overriden = true if (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
       247 
252 
     | 
    
         
             
                                             setup_override_dependency(value, d[:workflow], d[:task])
         
     | 
| 
       248 
253 
     | 
    
         
             
                                           else
         
     | 
| 
       249 
254 
     | 
    
         
             
                                             task_info = d[:workflow].task_info(d[:task])
         
     | 
| 
         @@ -251,7 +256,7 @@ module Workflow 
     | 
|
| 
       251 
256 
     | 
    
         
             
                                             _inputs = assign_dep_inputs({}, options.merge(d[:inputs] || {}), real_dependencies, task_info) 
         
     | 
| 
       252 
257 
     | 
    
         
             
                                             _jobname = d.include?(:jobname) ? d[:jobname] : jobname
         
     | 
| 
       253 
258 
     | 
    
         
             
                                             job = d[:workflow]._job(d[:task], _jobname, _inputs) 
         
     | 
| 
       254 
     | 
    
         
            -
                                             overriden = true if  
     | 
| 
      
 259 
     | 
    
         
            +
                                             overriden = true if Symbol === job.overriden? && (d.nil? || ! d[:not_overriden]) && (inputs.nil? || ! inputs[:not_overriden])
         
     | 
| 
       255 
260 
     | 
    
         
             
                                             job
         
     | 
| 
       256 
261 
     | 
    
         
             
                                           end
         
     | 
| 
       257 
262 
     | 
    
         
             
                                     end
         
     | 
| 
         @@ -267,14 +272,15 @@ module Workflow 
     | 
|
| 
       267 
272 
     | 
    
         
             
                                   dep[:workflow] ||= wf || self
         
     | 
| 
       268 
273 
     | 
    
         
             
                                   _override_dependencies = override_dependencies.merge(override_dependencies(dep[:inputs] || {}))
         
     | 
| 
       269 
274 
     | 
    
         
             
                                   if _override_dependencies[dep[:workflow].to_s] && value = _override_dependencies[dep[:workflow].to_s][dep[:task]]
         
     | 
| 
       270 
     | 
    
         
            -
                                     overriden = true if (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
      
 275 
     | 
    
         
            +
                                     overriden = true if (inputs.nil? || ! inputs[:not_overriden]) && (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
      
 276 
     | 
    
         
            +
                                     #overriden = true if (options.nil? || ! options[:not_overriden]) && ! unlocated_override?(value)
         
     | 
| 
       271 
277 
     | 
    
         
             
                                     setup_override_dependency(value, dep[:workflow], dep[:task])
         
     | 
| 
       272 
278 
     | 
    
         
             
                                   else
         
     | 
| 
       273 
279 
     | 
    
         
             
                                     task_info = (dep[:task] && dep[:workflow]) ? dep[:workflow].task_info(dep[:task]) : nil
         
     | 
| 
       274 
280 
     | 
    
         
             
                                     _inputs = assign_dep_inputs({}, dep[:inputs], real_dependencies, task_info)
         
     | 
| 
       275 
281 
     | 
    
         
             
                                     _jobname = dep.include?(:jobname) ? dep[:jobname] : jobname
         
     | 
| 
       276 
282 
     | 
    
         
             
                                     job = dep[:workflow]._job(dep[:task], _jobname, _inputs)
         
     | 
| 
       277 
     | 
    
         
            -
                                     overriden = true if  
     | 
| 
      
 283 
     | 
    
         
            +
                                     overriden = true if Symbol === job.overriden? && (d.nil? || ! d[:not_overriden]) && (inputs.nil? || ! inputs[:not_overriden])
         
     | 
| 
       278 
284 
     | 
    
         
             
                                     job
         
     | 
| 
       279 
285 
     | 
    
         
             
                                   end
         
     | 
| 
       280 
286 
     | 
    
         
             
                                 end
         
     | 
| 
         @@ -16,6 +16,17 @@ class Step 
     | 
|
| 
       16 
16 
     | 
    
         
             
                                   end
         
     | 
| 
       17 
17 
     | 
    
         
             
                                 end
         
     | 
| 
       18 
18 
     | 
    
         | 
| 
      
 19 
     | 
    
         
            +
              def relocated
         
     | 
| 
      
 20 
     | 
    
         
            +
                if @relocated.nil?
         
     | 
| 
      
 21 
     | 
    
         
            +
                  if Open.exists?(info_file) and (info[:path] != path)
         
     | 
| 
      
 22 
     | 
    
         
            +
                    @relocated = true
         
     | 
| 
      
 23 
     | 
    
         
            +
                  else
         
     | 
| 
      
 24 
     | 
    
         
            +
                    @relocated = false
         
     | 
| 
      
 25 
     | 
    
         
            +
                  end
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
                @relocated
         
     | 
| 
      
 28 
     | 
    
         
            +
              end
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
       19 
30 
     | 
    
         
             
              def self.serialize_info(info)
         
     | 
| 
       20 
31 
     | 
    
         
             
                info = info.clean_version if IndiferentHash === info
         
     | 
| 
       21 
32 
     | 
    
         
             
                INFO_SERIALIZER.dump(info)
         
     | 
| 
         @@ -48,7 +48,11 @@ class Step 
     | 
|
| 
       48 
48 
     | 
    
         
             
                    IndiferentHash.setup info_inputs
         
     | 
| 
       49 
49 
     | 
    
         
             
                    @inputs = NamedArray.setup info_inputs.values_at(*task.inputs.collect{|name| name.to_s}), task.inputs
         
     | 
| 
       50 
50 
     | 
    
         
             
                  else
         
     | 
| 
       51 
     | 
    
         
            -
                     
     | 
| 
      
 51 
     | 
    
         
            +
                    if Hash === info_inputs
         
     | 
| 
      
 52 
     | 
    
         
            +
                      @inputs = NamedArray.setup info_inputs.values, info_inputs.keys
         
     | 
| 
      
 53 
     | 
    
         
            +
                    else
         
     | 
| 
      
 54 
     | 
    
         
            +
                      @inputs = info_inputs
         
     | 
| 
      
 55 
     | 
    
         
            +
                    end
         
     | 
| 
       52 
56 
     | 
    
         
             
                  end
         
     | 
| 
       53 
57 
     | 
    
         
             
                else
         
     | 
| 
       54 
58 
     | 
    
         
             
                  nil
         
     | 
    
        data/lib/rbbt/workflow/step.rb
    CHANGED
    
    | 
         @@ -51,9 +51,6 @@ class Step 
     | 
|
| 
       51 
51 
     | 
    
         
             
                @info_mutex = Mutex.new
         
     | 
| 
       52 
52 
     | 
    
         
             
                @inputs = inputs 
         
     | 
| 
       53 
53 
     | 
    
         
             
                NamedArray.setup @inputs, task.inputs.collect{|s| s.to_s} if task and task.respond_to? :inputs and task.inputs
         
     | 
| 
       54 
     | 
    
         
            -
                if Open.exists?(info_file) and (info[:path] != path)
         
     | 
| 
       55 
     | 
    
         
            -
                  @relocated = true
         
     | 
| 
       56 
     | 
    
         
            -
                end
         
     | 
| 
       57 
54 
     | 
    
         
             
              end
         
     | 
| 
       58 
55 
     | 
    
         | 
| 
       59 
56 
     | 
    
         
             
              def workflow
         
     | 
    
        data/lib/rbbt/workflow.rb
    CHANGED
    
    | 
         @@ -495,7 +495,8 @@ module Workflow 
     | 
|
| 
       495 
495 
     | 
    
         
             
                  end
         
     | 
| 
       496 
496 
     | 
    
         
             
                end
         
     | 
| 
       497 
497 
     | 
    
         | 
| 
       498 
     | 
    
         
            -
                overriden = true if dependencies.select{|d| d.overriden && d.clean_name != d.name }.any?
         
     | 
| 
      
 498 
     | 
    
         
            +
                #overriden = true if dependencies.select{|d| d.overriden && d.clean_name != d.name }.any?
         
     | 
| 
      
 499 
     | 
    
         
            +
                overriden = true if dependencies.select{|d| Symbol === d.overriden }.any?
         
     | 
| 
       499 
500 
     | 
    
         | 
| 
       500 
501 
     | 
    
         
             
                input_values = task.take_input_values(inputs)
         
     | 
| 
       501 
502 
     | 
    
         
             
                if real_inputs.empty? && Workflow::TAG != :inputs && ! overriden #&& ! dependencies.select{|d| d.overriden && d.clean_name != d.name }.any?
         
     | 
| 
         @@ -665,6 +666,7 @@ module Workflow 
     | 
|
| 
       665 
666 
     | 
    
         
             
                step = Step.new path
         
     | 
| 
       666 
667 
     | 
    
         
             
                relocated = false
         
     | 
| 
       667 
668 
     | 
    
         
             
                dependencies = (step.info[:dependencies] || []).collect do |task,name,dep_path|
         
     | 
| 
      
 669 
     | 
    
         
            +
                  dep_path = task if dep_path.nil?
         
     | 
| 
       668 
670 
     | 
    
         
             
                  if Open.exists?(dep_path) || Open.exists?(dep_path + '.info') || Open.remote?(dep_path) || Open.ssh?(dep_path)
         
     | 
| 
       669 
671 
     | 
    
         
             
                    Workflow._load_step dep_path
         
     | 
| 
       670 
672 
     | 
    
         
             
                  else
         
     | 
| 
         @@ -7,11 +7,12 @@ $0 = "rbbt #{$previous_commands*""} #{ File.basename(__FILE__) }" if $previous_c 
     | 
|
| 
       7 
7 
     | 
    
         | 
| 
       8 
8 
     | 
    
         
             
            options = SOPT.setup <<EOF
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
             
     | 
| 
      
 10 
     | 
    
         
            +
            Write a Excel file with the contents of a TSV
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
     | 
    
         
            -
            $ rbbt tsv write_excel [options] <filename.tsv|-> <filename.xls|filename.xlsx>
         
     | 
| 
      
 12 
     | 
    
         
            +
            $ rbbt tsv write_excel [options] <filename.tsv|-> [<filename.xls|filename.xlsx>]
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 14 
     | 
    
         
            +
            If no target file is specified it uses the same input files but replaces extension. Specifying
         
     | 
| 
      
 15 
     | 
    
         
            +
            the extension of the excel file select the excel format to use.
         
     | 
| 
       15 
16 
     | 
    
         | 
| 
       16 
17 
     | 
    
         
             
            -k--key_field* Key field
         
     | 
| 
       17 
18 
     | 
    
         
             
            -f--fields* Fields
         
     | 
| 
         @@ -70,9 +70,14 @@ begin 
     | 
|
| 
       70 
70 
     | 
    
         
             
                  exit 0
         
     | 
| 
       71 
71 
     | 
    
         
             
                else
         
     | 
| 
       72 
72 
     | 
    
         
             
                  if command == 'bootstrap'
         
     | 
| 
       73 
     | 
    
         
            -
                     
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
       75 
     | 
    
         
            -
             
     | 
| 
      
 73 
     | 
    
         
            +
                    if wf.libdir["test_workflow.rb"].exists?
         
     | 
| 
      
 74 
     | 
    
         
            +
                      Log.info "No bootstrap for #{ workflow }, running test_workflow.rb instead"
         
     | 
| 
      
 75 
     | 
    
         
            +
                      CMD.cmd_log('ruby', wf.libdir["test_workflow.rb"].find)
         
     | 
| 
      
 76 
     | 
    
         
            +
                    else
         
     | 
| 
      
 77 
     | 
    
         
            +
                      Log.info "No bootstrap for #{ workflow }, running examples instead"
         
     | 
| 
      
 78 
     | 
    
         
            +
                      CMD.cmd_log("rbbt workflow example #{ workflow }")
         
     | 
| 
      
 79 
     | 
    
         
            +
                      exit 0
         
     | 
| 
      
 80 
     | 
    
         
            +
                    end
         
     | 
| 
       76 
81 
     | 
    
         
             
                  end
         
     | 
| 
       77 
82 
     | 
    
         | 
| 
       78 
83 
     | 
    
         
             
                  raise ParameterException, "Error: Command not understood: #{command}"
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: rbbt-util
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 5.40. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 5.40.5
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Miguel Vazquez
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2023-10- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2023-10-26 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: rake
         
     | 
| 
         @@ -584,7 +584,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       584 
584 
     | 
    
         
             
                - !ruby/object:Gem::Version
         
     | 
| 
       585 
585 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       586 
586 
     | 
    
         
             
            requirements: []
         
     | 
| 
       587 
     | 
    
         
            -
            rubygems_version: 3. 
     | 
| 
      
 587 
     | 
    
         
            +
            rubygems_version: 3.5.0.dev
         
     | 
| 
       588 
588 
     | 
    
         
             
            signing_key: 
         
     | 
| 
       589 
589 
     | 
    
         
             
            specification_version: 4
         
     | 
| 
       590 
590 
     | 
    
         
             
            summary: Utilities for the Ruby Bioinformatics Toolkit (rbbt)
         
     |