Sha256: c6fab6c7ece922f50dc9b837a08252227f356369f31b2c96054fe9687445f267

Contents?: true

Size: 853 Bytes

Versions: 1

Compression:

Stored size: 853 Bytes

Contents

require 'active_record'
require 'rflow/configuration/uuid_keyed'

class RFlow
  class Configuration
    class Component < ConfigDB
      include UUIDKeyed
      include ActiveModel::Validations

      class ComponentInvalid < StandardError; end
      class ComponentNotFound < StandardError; end

      serialize :options, Hash

      belongs_to :shard, :primary_key => 'uuid', :foreign_key => 'shard_uuid'
      has_many :input_ports,  :primary_key => 'uuid', :foreign_key => 'component_uuid'
      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

      validates_uniqueness_of :name
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rflow-1.0.0a1 lib/rflow/configuration/component.rb