Sha256: e20e42924557619889b571fcc77a06f7821c4fc935db00f4ff239b26d9802fa0

Contents?: true

Size: 867 Bytes

Versions: 23

Compression:

Stored size: 867 Bytes

Contents

module Rhoconnect
  class App < StoreOrm
    field :name, :string
    set   :users, :string
    validates_presence_of :name

    @@sources = []

    class << self
      def create(fields={})
        fields[:id] = fields[:name]
        super(fields)
      end
    end

    def delete
      @@sources = []
      super
    end

    def delete_sources
      @@sources = []
    end

    def partition_sources(partition,user_id)
      names = []
      @@sources.each do |source|
        s = Source.load(source,{:app_id => self.name,
          :user_id => user_id})
        if s.partition == partition
          names << s.name
        end
      end
      names
    end

    def sources
      @@sources.uniq!
      # Sort sources array by priority
      @@sources = @@sources.sort_by { |s| Source.load(s, {:app_id => self.name, :user_id => '*'}).priority }
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
rhoconnect-7.6.0 lib/rhoconnect/app.rb
rhoconnect-7.5.1 lib/rhoconnect/app.rb
rhoconnect-7.4.1 lib/rhoconnect/app.rb
rhoconnect-7.1.17 lib/rhoconnect/app.rb
rhoconnect-6.2.0 lib/rhoconnect/app.rb
rhoconnect-6.0.11 lib/rhoconnect/app.rb
rhoconnect-5.5.18 lib/rhoconnect/app.rb
rhoconnect-5.5.17 lib/rhoconnect/app.rb
rhoconnect-5.5.15 lib/rhoconnect/app.rb
rhoconnect-5.5.0.22 lib/rhoconnect/app.rb
rhoconnect-5.5.2 lib/rhoconnect/app.rb
rhoconnect-5.5.0.7 lib/rhoconnect/app.rb
rhoconnect-5.5.0.3 lib/rhoconnect/app.rb
rhoconnect-5.5.0 lib/rhoconnect/app.rb
rhoconnect-5.1.1 lib/rhoconnect/app.rb
rhoconnect-4.0.4 lib/rhoconnect/app.rb
rhoconnect-4.0.3 lib/rhoconnect/app.rb
rhoconnect-4.0.2 lib/rhoconnect/app.rb
rhoconnect-4.0.1 lib/rhoconnect/app.rb
rhoconnect-4.0.0 lib/rhoconnect/app.rb