Sha256: e9a7a9065690a491550df66da49e8c4f94cad713b2f2ab2ba3b7c3ce05c1477e

Contents?: true

Size: 730 Bytes

Versions: 1

Compression:

Stored size: 730 Bytes

Contents

module AbstractInterface 
  class Theme
    attr_writer :name, :layout_template, :layout    
    def name; @name || 'default' end    
    def layout; @layout || 'default' end
    
    def layout_template; 
      @layout_template || layout_definition['layout_template'] || 'default' 
    end
    
    def layout_definition      
      layout_definitions[layout] || layout_definitions['default'] || {}
    end
    
    def layout_definitions
      if AbstractInterface.layouts_defined?
        AbstractInterface.layout_definitions(name)
      else
        {}
      end
    end
    
    def available_layouts_names
      layout_definitions.keys
    end

    def metadata
      AbstractInterface.theme_metadata(name)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails-ext-0.3.28 lib/abstract_interface/theme.rb