Sha256: 32c9e2cd1db5ff799f98db0b55f76747dc9c6993905bda57af2dbc89328d2f65

Contents?: true

Size: 1.28 KB

Versions: 1

Compression:

Stored size: 1.28 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 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
end

Version data entries

1 entries across 1 versions & 1 rubygems

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