Sha256: 03b3c4253f088eb04a4b410c29da31f415b999b00076220cf1dd873f15fd1cd7

Contents?: true

Size: 1.65 KB

Versions: 2

Compression:

Stored size: 1.65 KB

Contents

require 'pathname'
require 'hike'
require 'hashie'
require 'singleton'
require 'json'
require 'active_support'
require 'active_support/core_ext/string'

module Stylish
  def self.pwd
    Pathname(ENV.fetch('STYLISH_PWD') { Dir.pwd })
  end

  def self.root
    Pathname(ENV.fetch('STYLISH_ROOT') { Stylish.pwd })
  end

  def self.config
    Stylish::Configuration.instance
  end

  def self.api
    @api ||= begin
              require 'sinatra/base'
              require 'stylish/api'

              Stylish::Api.new
             end
  end

  def self.sprockets
    return @sprockets if @sprockets

    require 'sprockets' unless defined?(::Sprockets)

    env = case
          when defined?(::Rails)
            ::Rails.application.assets
          when defined?(::Middleman::Application)
            middleman_app = ObjectSpace.each_object.detect {|obj| obj.class.to_s.match(/Middleman::Application/) }
            middleman_app && middleman_app.sprockets
          else
            ::Sprockets::Environment.new(root)
          end

    library_path = Stylish.config.public

    env.append_path(library_path) if library_path.exist?

    # append the stylish library paths
    env.append_path lib_root.join("assets/javascripts")
    env.append_path lib_root.join("assets/stylesheets")

    @sprockets = env
  end

  def self.lib_root
    Pathname(File.dirname(__FILE__))
  end
end

require 'stylish/version'
require 'stylish/core_ext'
require 'stylish/configuration'
require 'stylish/asset'
require 'stylish/theme'
require 'stylish/engine' if defined?(::Rails)

if defined?(::Middleman)
  require 'stylish/middleman_extension'
  Stylish::MiddlemanExtension.activate_stylish_extension()
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
stylish-0.3.1 lib/stylish.rb
stylish-0.3.0 lib/stylish.rb