Sha256: 6094c5fb2bc5a29651e03bd707faa0c7451eebe544c458cac1e633b1ceae13d3

Contents?: true

Size: 953 Bytes

Versions: 6

Compression:

Stored size: 953 Bytes

Contents

module Assets
  class Environment

    # Environment with dynamic asset compilation
    class Dynamic < self
      include Adamantium, Concord.new(:rules)

      # Return index
      #
      # @return [Hash]
      #
      # @api private
      #
      def index
        rules.each_with_object({}) do |rule, index|
          index[rule.name] = rule
        end
      end
      memoize :index

      # Return rule for name
      #
      # @param [String] name
      #
      # @return [Rule]
      #   if found
      #
      # @return [nil]
      #   otherwise
      #
      # @api private
      #
      def rule(name)
        index[name]
      end

      # Return asset for name
      #
      # @param [String] name
      #
      # @return [Asset]
      #   if found
      #
      # @return [nil]
      #   otherwise
      #
      # @api private
      #
      def get(name)
        rule = rule(name)
        rule && rule.asset
      end

    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
mbj-assets-0.0.8 lib/assets/environment/dynamic.rb
mbj-assets-0.0.7 lib/assets/environment/dynamic.rb
mbj-assets-0.0.6 lib/assets/environment/dynamic.rb
mbj-assets-0.0.5 lib/assets/environment/dynamic.rb
mbj-assets-0.0.4 lib/assets/environment/dynamic.rb
mbj-assets-0.0.3 lib/assets/environment/dynamic.rb