lib/rflow/configuration/component.rb in rflow-1.3.0 vs lib/rflow/configuration/component.rb in rflow-1.3.1

- old
+ new

@@ -1,17 +1,32 @@ require 'active_record' require 'rflow/configuration/uuid_keyed' class RFlow class Configuration + # Represents a component definition in the SQLite database. class Component < ConfigurationItem include UUIDKeyed include ActiveModel::Validations + # @!attribute options + # Open-ended Hash of component options, serialized via YAML to a single column. + # @return [Hash] serialize :options, Hash + # @!attribute shard + # The {Shard} in which this {Component} is to run. + # @return [Shard] belongs_to :shard, :primary_key => 'uuid', :foreign_key => 'shard_uuid' + + # @!attribute input_ports + # The {InputPort}s of this component. + # @return [Array<InputPort>] has_many :input_ports, :primary_key => 'uuid', :foreign_key => 'component_uuid' + + # @!attribute output_ports + # The {OutputPort}s of this component. + # @return [Array<OutputPort>] has_many :output_ports, :primary_key => 'uuid', :foreign_key => 'component_uuid' #TODO: Get this to work #has_many :input_connections, :through => :input_ports, :source => :input_connections #has_many :output_connections, :through => :output_ports, :source => :output_connection