Sha256: 41a04a498668e2b9baacf1db92c2fe115d7a7f26d0f2f9ad56e44c99ff234c79

Contents?: true

Size: 1.03 KB

Versions: 3

Compression:

Stored size: 1.03 KB

Contents

require 'pathname'
require 'ns-options'
require 'dassets/cache'
require 'dassets/file_store'
require 'dassets/source'

module Dassets

  class Config
    include NsOptions::Proxy

    option :file_store, FileStore, :default => proc{ FileStore::NullStore.new }
    option :cache, :default => proc{ Cache::NoCache.new }

    attr_reader :sources, :combinations

    def initialize
      super
      @sources = []
      @combinations = Hash.new{ |h, k| [k] } # digest pass-thru if none defined
    end

    def base_url(value = nil)
      @base_url = value if !value.nil?
      @base_url
    end

    def source(path, &block)
      @sources << Source.new(path).tap{ |s| block.call(s) if block }
    end

    def combination(key_digest_path, value_digest_paths)
      @combinations[key_digest_path.to_s] = [*value_digest_paths]
    end

    def combination?(key_digest_path)
      # a digest path is only considered a combination is it is not the default
      # pass-thru above
      @combinations[key_digest_path.to_s] != [key_digest_path]
    end

  end

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dassets-0.10.1 lib/dassets/config.rb
dassets-0.10.0 lib/dassets/config.rb
dassets-0.9.0 lib/dassets/config.rb