Sha256: c9933983f438e640f7aa6e40a2654a7d08eade7a1a54d38334edfa0ebb5ad3d3

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

class BowerVendor::Setup < BowerVendor::Base
  def execute
    return if vendors.empty?

    create_bowerrc
    create_bower_json
  end

  def create_bower_json
    data = {
      name: 'autogenerated',
      dependencies: {
      },
      resolutions: {
      },
    }
    vendors.each do |vendor_key, vendor|
      version = vendor['version']&.to_s
      tag_version = version

      git = vendor['git']
      tag = vendor['tag']&.to_s
      if git
        tag_version = tag ? "#{git}##{tag}" : git
      end

      url = vendor['url']
      if url
        tag_version = url
      end

      data[:dependencies][vendor_key] = tag_version
      data[:resolutions][vendor_key] = version
    end

    target_file = "#{work_dir}/bower.json"
    File.write(target_file, JSON.pretty_generate(data))
    puts "Wrote: #{target_file}"
  end

  def create_bowerrc
    data = {
      directory: "bower_components"
    }

    target_file = "#{work_dir}/.bowerrc"
    File.write(target_file, JSON.pretty_generate(data))
    puts "Wrote: #{target_file}"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bower_vendor-0.1.2 lib/bower_vendor/setup.rb