Sha256: 4223c8bdc7f4fa13f285e92aabdb1432fe2b8f74415d523248b6c914ef8f68b9

Contents?: true

Size: 1021 Bytes

Versions: 3

Compression:

Stored size: 1021 Bytes

Contents

module ApplicationAssociations

  def self.when_belongs_to(klass, options)
    klass.prefix = "#{RestApi::Base.prefix}domains/:domain_id/applications/:application_name/"
    klass.class_eval do
      schema do
        string :application_name
      end
      def application_name=(id)
        if self.prefix_options[:application_name].nil?
          self.prefix_options[:application_name] = id
        else
          super
        end
      end
      def application_name
        super or self.prefix_options[:application_name]
      end
      def domain_id=(id)
        self.prefix_options[:domain_id] = id
      end
      def domain_id
        self.prefix_options[:domain_id]
      end
      def application
        Application.find application_name, :params => {:domain_id => domain_id}, :as => as
      end
      def application=(application)
        self.application_name = application.name
        self.domain_id = application.domain_id
        self.as = application.as if self.as.nil?
      end
    end
  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
openshift-origin-console-1.3.4 app/models/application_associations.rb
openshift-origin-console-1.3.3 app/models/application_associations.rb
openshift-origin-console-1.3.2 app/models/application_associations.rb