Sha256: 6ad5218764a2dc30088e9aea1dd87648121aa4e213ad4fb78b6a41b42c44954a

Contents?: true

Size: 1.18 KB

Versions: 1

Compression:

Stored size: 1.18 KB

Contents

class BowerVendor::Base
  def initialize
  end

  def vendors
    @vendors ||= load_vendors
    validate_vendors
    @vendors
  end

  def validate_vendors
    # validate resources
    @vendors.each do |vendor_key, vendor|
      raise "VERSION MISSING: #{vendor_key}: #{vendor.inspect}" unless vendor['version']
      puts "WARN: ASSETS MISSING: #{vendor_key}: #{vendor.inspect}" unless vendor['assets']
    end
  end

  def config
    @config ||= load_config('config/bower_vendor.yml')
    @config ||= load_config(File.join(BowerVendor.root_dir, 'config/bower_vendor.yml'))
  end

  def load_config(file)
    if File.exist?(file)
      YAML.load_file(file)
    else
      nil
    end
  end

  def full_asset_key_src_dir(asset_key)
    "#{self.work_dir}/bower_components/#{asset_key}"
  end

  def work_dir
    "#{self.root_dir}/tmp"
  end

  def local_node_bin
    "#{self.root_dir}/node_modules/.bin"
  end

  def root_dir
    @root_dir ||= if defined?(Rails)
                    Rails.root
                  else
                    Dir.pwd
                  end
  end

  def load_vendors
    vendors = YAML.load_file('vendor.yml')
    vendors.sort do |a, b|
      a[0] <=> b[0]
    end.to_h
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bower_vendor-0.1.0 lib/bower_vendor/base.rb