Sha256: f01fa7a74613c391b18f021652ee1c87844fef56fc9dd94fc07c80c8e0f05f6f

Contents?: true

Size: 1.41 KB

Versions: 8

Compression:

Stored size: 1.41 KB

Contents

module RailsAdmin
  module Bootstrap
    class FrameworkNotFound < StandardError; end

    # Inspired by Kaminari
    def self.load!
      if compass?
        require 'rails_admin/bootstrap-sass/compass_functions'
        register_compass_extension
      elsif asset_pipeline?
        require 'rails_admin/bootstrap-sass/sass_functions'
      end

      require 'sassc-rails' if rails?

      unless rails? || compass?
        raise(Bootstrap::FrameworkNotFound.new('bootstrap-sass requires either Rails > 3.1 or Compass, neither of which are loaded'))
      end

      if defined?(::Sass) && ::Sass.respond_to?(:load_paths)
        stylesheets = File.expand_path(File.join('..', 'vendor', 'assets', 'stylesheets'))
        fonts = File.expand_path(File.join('..', 'vendor', 'assets', 'fonts'))
        ::Sass.load_paths << stylesheets
        ::Sass.load_paths << fonts
      end
    end

    def self.asset_pipeline?
      defined?(::Sprockets)
    end

    def self.compass?
      defined?(::Compass)
    end

    def self.rails?
      defined?(::Rails)
    end

    def self.register_compass_extension
      base = File.join(File.dirname(__FILE__), '..')
      styles = File.join(base, 'vendor', 'assets', 'stylesheets')
      templates = File.join(base, 'templates')
      ::Compass::Frameworks.register('bootstrap', path: base, stylesheets_directory: styles, templates_directory: templates)
    end
  end
end

RailsAdmin::Bootstrap.load!

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rails_admin-2.3.1 lib/rails_admin/bootstrap-sass.rb
rails_admin-2.3.0 lib/rails_admin/bootstrap-sass.rb
rails_admin-2.2.1 lib/rails_admin/bootstrap-sass.rb
rails_admin-2.2.0 lib/rails_admin/bootstrap-sass.rb
rails_admin-2.1.1 lib/rails_admin/bootstrap-sass.rb
rails_admin-2.1.0 lib/rails_admin/bootstrap-sass.rb
rails_admin-2.0.2 lib/rails_admin/bootstrap-sass.rb
rails_admin-2.0.1 lib/rails_admin/bootstrap-sass.rb