Sha256: 4d434d9737ce000b66ca54baa42d066b60b750da79fb6fc34c4ad08308b3ea04

Contents?: true

Size: 1.28 KB

Versions: 72

Compression:

Stored size: 1.28 KB

Contents

module Udongo
  module Assets
    class Precompiler
      attr_reader :app

      def initialize(app)
        @app = app
      end

      def add(type, source)
        %W(#{Udongo::PATH}/#{source} #{Rails.root}/#{source}).each do |path|
          self.send("add_#{type}_to_precompile_list", path)
        end
      end

      def add_images_to_precompile_list(path)
        glob_files(path) do |f|
          app.config.assets.precompile += [f.split('images/').last]
        end
      end

      def add_javascripts_to_precompile_list(path)
        glob_files(path) do |f|
          app.config.assets.precompile += [f.split('javascripts/').last]
        end
      end

      def add_stylesheets_to_precompile_list(path)
        glob_files(path) do |f|
          filepath = f.split('stylesheets/').last
          filename = filepath.split('.').join('.')
          next if filename.split('/').last[0] == '_'

          if File.extname(filename) == '.scss'
            app.config.assets.precompile += ["#{filename.gsub('.scss', '.css')}"]
          else
            app.config.assets.precompile += [filepath]
          end
        end
      end

      def glob_files(path, &block)
        Dir.glob(path).each do |f|
          next if File.directory?(f)
          yield f
        end
      end
    end
  end
end

Version data entries

72 entries across 72 versions & 1 rubygems

Version Path
udongo-7.9.0 lib/udongo/assets/precompiler.rb
udongo-7.8.1 lib/udongo/assets/precompiler.rb
udongo-7.8.0 lib/udongo/assets/precompiler.rb
udongo-7.7.2 lib/udongo/assets/precompiler.rb
udongo-7.7.1 lib/udongo/assets/precompiler.rb
udongo-7.7.0 lib/udongo/assets/precompiler.rb
udongo-7.6.2 lib/udongo/assets/precompiler.rb
udongo-7.6.1 lib/udongo/assets/precompiler.rb
udongo-7.6.0 lib/udongo/assets/precompiler.rb
udongo-7.5.1 lib/udongo/assets/precompiler.rb
udongo-7.5.0 lib/udongo/assets/precompiler.rb
udongo-7.4.2 lib/udongo/assets/precompiler.rb
udongo-7.4.1 lib/udongo/assets/precompiler.rb
udongo-7.4.0 lib/udongo/assets/precompiler.rb
udongo-7.3.5 lib/udongo/assets/precompiler.rb
udongo-7.3.4 lib/udongo/assets/precompiler.rb
udongo-7.3.3 lib/udongo/assets/precompiler.rb
udongo-7.3.2 lib/udongo/assets/precompiler.rb
udongo-7.3.1 lib/udongo/assets/precompiler.rb
udongo-7.2.1 lib/udongo/assets/precompiler.rb