Sha256: c7d30b2ac894690bd0226aefe035c4729e7e0fb830f284632307917d11e2904f
Contents?: true
Size: 1.13 KB
Versions: 3
Compression:
Stored size: 1.13 KB
Contents
module Pione module Util # ID is a set of ID generators. module TaskID # Make a task id by input data names and parameters. # # @param inputs [Array<Tuple::DataTuple>] # input data tuples # @param params [Model::Parameters] # parameters object # @return [String] # task's digest string def generate(inputs, params) input_names = inputs.map{|t| t.name} Digest::MD5.hexdigest("%s,%s" % [input_names.join(":"), params.textize]) end module_function :generate end module DomainID # Make a domain id by rule, inputs, and parameters. # # @param rule [Component::Rule] # rule # @param inputs [Array<Tuple::DataTuple>] # input data tuples # @param params [Model::Parameters] # parameters # @return [String] # domain id string def generate(rule, inputs, params) package_name = rule.package_name rule_name = rule.name "%s-%s_%s" % [package_name, rule_name, TaskID.generate(inputs.flatten, params)] end module_function :generate end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pione-0.2.2 | lib/pione/util/id.rb |
pione-0.2.1 | lib/pione/util/id.rb |
pione-0.2.0 | lib/pione/util/id.rb |