Sha256: b4d45c20ffd1e1bf8524971c90d65d6114bf468b99b91d5990286f1d3c4537ac

Contents?: true

Size: 1.51 KB

Versions: 3

Compression:

Stored size: 1.51 KB

Contents

# encoding: UTF-8

module GoodData
  module Mixin
    module MdRelations
      def dependency(uri, key = nil, opts = { :client => client, :project => project })
        GoodData::MdObject.dependency(uri, key, opts)
      end

      # Checks for dependency
      def dependency?(type, obj, opts = { :client => client, :project => project })
        GoodData::MdObject.dependency?(type, self, obj, opts)
      end

      # Returns which objects uses this MD resource
      def usedby(key = nil, opts = { :client => client, :project => project })
        p = opts[:project]
        fail ArgumentError, 'No :project specified' if p.nil?

        project = GoodData::Project[p, opts]
        fail ArgumentError, 'Wrong :project specified' if project.nil?

        dependency("#{project.md['usedby2']}/#{obj_id}", key, opts)
      end

      alias_method :used_by, :usedby

      # Returns which objects this MD resource uses
      def using(key = nil, opts = { :client => client, :project => project })
        project = opts[:project]
        fail ArgumentError, 'Wrong :project specified' if project.nil?

        dependency("#{project.md['using2']}/#{obj_id}", key, opts)
      end

      def usedby?(obj, opts = { :client => client, :project => project })
        GoodData::MdObject.used_by?(self, obj, opts)
      end

      alias_method :used_by?, :usedby?

      # Checks if obj is using this MD resource
      def using?(obj, opts = { :client => client, :project => project })
        dependency?(:using, obj, opts)
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gooddata-0.6.10 lib/gooddata/mixins/md_relations.rb
gooddata-0.6.9 lib/gooddata/mixins/md_relations.rb
gooddata-0.6.8 lib/gooddata/mixins/md_relations.rb