Sha256: 6dd9ba90e8c05c9aa5471cc1bf5a58de51afa4477f3926fca8e27ba87c556e28

Contents?: true

Size: 1.08 KB

Versions: 3

Compression:

Stored size: 1.08 KB

Contents

#
# ActiveFacts Compositions, Binary Compositor.
#
#       Fans of RDF will like this one.
#
# Copyright (c) 2015 Clifford Heath. Read the LICENSE file.
#
require "activefacts/compositions"

module ActiveFacts
  module Compositions
    class Binary < Compositor
      def initialize constellation, name, options = {}, compositor_name = 'Binary'
        super constellation, name, options, compositor_name
      end

      def self.options
        {}
      end

      def generate
        super

        trace :binary!, "Constructing Binary Composition" do
          @binary_mappings.keys.sort_by(&:name).each do |object_type|
            mapping = @binary_mappings[object_type]
            mapping.re_rank
            composite = @constellation.Composite(mapping, composition: @composition)
          end
        end

        trace :binary!, "Full binary composition" do
          @binary_mappings.keys.sort_by(&:name).each do |object_type|
            mapping = @binary_mappings[object_type]
            mapping.show_trace 
          end
        end

      end
    end
    publish_compositor(Binary)
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
activefacts-compositions-1.9.20 lib/activefacts/compositions/binary.rb
activefacts-compositions-1.9.19 lib/activefacts/compositions/binary.rb
activefacts-compositions-1.9.18 lib/activefacts/compositions/binary.rb