class BowerVendor::Setup

Public Instance Methods

create_bower_json() click to toggle source
# File lib/bower_vendor/setup.rb, line 9
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
create_bowerrc() click to toggle source
# File lib/bower_vendor/setup.rb, line 41
def create_bowerrc
  data = {
    directory: "bower_components"
  }

  FileUtils.mkdir_p(work_dir)

  target_file = "#{work_dir}/.bowerrc"
  File.write(target_file, JSON.pretty_generate(data))
  puts "Wrote: #{target_file}"
end
execute() click to toggle source
# File lib/bower_vendor/setup.rb, line 2
def execute
  return if vendors.empty?

  create_bowerrc
  create_bower_json
end