class Vx::Builder::BuildConfiguration::Cache

Attributes

attributes[R]

Public Class Methods

new(new_cache) click to toggle source
# File lib/vx/builder/build_configuration/cache.rb, line 8
def initialize(new_cache)
  normalize_attributes(new_cache)
  expand_directories!
end

Public Instance Methods

directories() click to toggle source
# File lib/vx/builder/build_configuration/cache.rb, line 13
def directories
  @attributes["directories"]
end
enabled?() click to toggle source
# File lib/vx/builder/build_configuration/cache.rb, line 17
def enabled?
  @attributes["enabled"]
end

Private Instance Methods

expand_directories!() click to toggle source
# File lib/vx/builder/build_configuration/cache.rb, line 44
def expand_directories!
  directories.map! do |dir|
    case dir
    when 'bundler'
      '~/.rubygems'
    when 'bower'
      'bower_components'
    else
      dir
    end
  end
end
normalize_attributes(new_cache) click to toggle source
# File lib/vx/builder/build_configuration/cache.rb, line 23
def normalize_attributes(new_cache)
  @attributes =
    case new_cache
    when nil
      {
        "directories" => [],
        "enabled"     => true,
      }
    when Hash
      {
        "directories" => Array(new_cache["directories"]).flatten.map(&:to_s),
        "enabled"     => true,
      }
    else
      {
        "directories" => [],
        "enabled"     => false
      }
    end
end