Sha256: 50fd09193c652d8f2003c5871826097ffd3d75933d44cc917c22bdb94b6d1393

Contents?: true

Size: 1.44 KB

Versions: 3

Compression:

Stored size: 1.44 KB

Contents

require 'fileutils'
require 'yaml'

module BrighterPlanetLayout
  GEM_ROOT = File.expand_path File.join(File.dirname(__FILE__), '..')
  VERSION = YAML.load File.read(File.join(GEM_ROOT, 'VERSION'))
  
  def self.view_path
    File.join GEM_ROOT, 'app', 'views'
  end
  
  def self.helper_file
    File.join GEM_ROOT, 'app', 'helpers', 'brighter_planet_helper.rb'
  end
  
  def self.layout_warning_file
    File.join Rails.root, 'public', "BRIGHTER_PLANET_LAYOUT_VERSION_#{VERSION}"
  end
  
  def self.public_path
    File.join GEM_ROOT, 'public'
  end
  
  def self.copy_static_files_to_web_server_document_root
    Dir[File.join(public_path, '*')].each do |source_path|
      dest_path = File.join(Rails.root, 'public', source_path.gsub(public_path, ''))
      if File.directory? source_path
        FileUtils.cp_r source_path.concat('/.'), dest_path
      else
        FileUtils.cp source_path, dest_path
      end
    end
    install_layout_warning
  end
  
  def self.install_layout_warning
    FileUtils.touch layout_warning_file
  end
  
  def self.layout_warning_installed?
    File.readable? layout_warning_file
  end
  
  def self.copy_static_files?
    not heroku? and not serve_static_files_using_rack? and not layout_warning_installed?
  end
  
  def self.heroku?
    File.readable? '/home/heroku_rack/heroku.ru'
  end
  
  def self.serve_static_files_using_rack?
    not heroku? and not Rails.env.production?
  end
end

require 'brighter_planet_layout/railtie'

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
brighter_planet_layout-0.2.13 lib/brighter_planet_layout.rb
brighter_planet_layout-0.2.12 lib/brighter_planet_layout.rb
brighter_planet_layout-0.2.11 lib/brighter_planet_layout.rb