Sha256: 999091e3e8668f095840dc37c5f4b96ed1fbf40a0230b4cef25e3b96f75921f1

Contents?: true

Size: 1.39 KB

Versions: 24

Compression:

Stored size: 1.39 KB

Contents

module MyAdmin
	class Application
	  attr_accessor :key, :models
	  
	  def self.add(models)
	    $applications ||= []
	    
	    models = [models] unless (models.is_a? Array)
	    models.each do |m|
	      key = m.my_admin.application
	      application = MyAdmin::Application.find(key)
	      if(application)
  	      application.models << m
        else
          application = MyAdmin::Application.new
          application.key = key
          application.models = [m]
  	      $applications << application
        end
        
      end
      
	  end
    
	  def self.items
	    $applications ||= []
	    $applications.uniq.compact
	  end
	  
	  def self.find(key)
      $applications ||= []
      $applications.find { |app| app.key == key }
	  end
	  
	  def self.find_by_url(url)
      $applications ||= []
      $applications.find { |app| app.url == url }
	  end
	  
	  def self.remove(key)
      $applications.delete(MyAdmin::Application.find(key))
	  end
	  
	  def find_model_by_url(url)
      self.models.find { |model| model.my_admin.url == url }
    end
    
    def can?(user)
      not self.models.find { |model| model.my_admin.can?(:list, user) }.blank?
    end
    
    def url
      # I18n.t!("my_admin.urls.applications.#{self.key}") rescue self.key
      self.key
    end
    
    def title
      I18n.t!("activerecord.applications.my_admin.#{self.key}") rescue self.key.titleize
    end
    
	end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
my_admin-0.1.13 lib/my_admin/application.rb
my_admin-0.1.12 lib/my_admin/application.rb
my_admin-0.1.11 lib/my_admin/application.rb
my_admin-0.1.10 lib/my_admin/application.rb
my_admin-0.1.9 lib/my_admin/application.rb
my_admin-0.1.8 lib/my_admin/application.rb
my_admin-0.1.7 lib/my_admin/application.rb
my_admin-0.1.6 lib/my_admin/application.rb
my_admin-0.1.5 lib/my_admin/application.rb
my_admin-0.1.4 lib/my_admin/application.rb
my_admin-0.1.3 lib/my_admin/application.rb
my_admin-0.1.2 lib/my_admin/application.rb
my_admin-0.1.1 lib/my_admin/application.rb
my_admin-0.0.12 lib/my_admin/application.rb
my_admin-0.0.11 lib/my_admin/application.rb
my_admin-0.0.10 lib/my_admin/application.rb
my_admin-0.0.9 lib/my_admin/application.rb
my_admin-0.0.8 lib/my_admin/application.rb
my_admin-0.0.7 lib/my_admin/application.rb
my_admin-0.0.6 lib/my_admin/application.rb