Sha256: d6ec725156029b3ddd8626e4b951390c63c85286836e43513e64e1cbc7d5cdef

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

module BowerVendor
  class 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 base_src_dir
      @base_src_dir ||= 'bower_components'
    end

    def work_dir
      if defined?(Rails)
        "#{Rails.root}/tmp"
      else
        'tmp'
      end
    end

    def local_node_bin
      "#{Rails.root}/node_modules/.bin"
    end

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

Version data entries

1 entries across 1 versions & 1 rubygems

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