module Grundler::Commands::Common

Public Class Methods

new(cli) click to toggle source
# File lib/grundler/commands/common.rb, line 7
def initialize(cli)
  @cli = cli
end

Public Instance Methods

install(version) click to toggle source
# File lib/grundler/commands/common.rb, line 21
def install(version)
  return no_such_package if version == "Not found"

  if module?(version)
    GoodMode.new(@cli, version).write
  else
    CrapMode.new(@cli, version).write
  end

  version
end
latest_version(package_name) click to toggle source
# File lib/grundler/commands/common.rb, line 15
def latest_version(package_name)
  package_metadata = JSON.parse(HTTP.get("https://registry.npmjs.org/#{package_name}").to_s)
  latest_version_number = package_metadata.dig("dist-tags", "latest")
  package_metadata["error"] || package_metadata.dig("versions", latest_version_number)
end
module?(version) click to toggle source
# File lib/grundler/commands/common.rb, line 11
def module?(version)
  !version["module"].nil? || version["type"] == "module"
end
no_such_package() click to toggle source
# File lib/grundler/commands/common.rb, line 33
def no_such_package
  puts "That package could not be found in the npm repository!"
end