class NPM2Gem::CLI

Attributes

config[R]

Public Class Methods

new() click to toggle source
# File lib/npm2gem/cli.rb, line 12
def initialize
  @config = Config.new
  @npm_install = NPMInstall.new(@config.package_name)
  @file_copier = FileCopier.new(@npm_install.path, "vendor/assets")
end

Public Instance Methods

run() click to toggle source
# File lib/npm2gem/cli.rb, line 18
def run
  if new_version?
    puts "Current (gem)\t Version: #{gem_version}"
    puts "New (npm)\t Version: #{npm_version}"
    if want_to_upgrade?
      @file_copier.copy(@config.files_to_copy)
      version = GemVersionUpdater.new.run(npm_version)
      puts "Done! :) Upgraded to #{version}"
    else
      puts "Okay, no problem!"
    end
  else
    puts "There's no new version of #{@config.package_name} "\
         "on npm. The current version is #{npm_version}"
  end

  #      FileUtils.rm_rf("node_modules")
end

Private Instance Methods

gem_version() click to toggle source
# File lib/npm2gem/cli.rb, line 47
def gem_version
  gemspec_file_name = Dir["*.gemspec"].first
  Gem::Specification.load(gemspec_file_name).version.to_s
end
new_version?() click to toggle source
# File lib/npm2gem/cli.rb, line 43
def new_version?
  Gem::Version.new(npm_version) > Gem::Version.new(gem_version)
end
npm_version() click to toggle source
# File lib/npm2gem/cli.rb, line 52
def npm_version
  @npm_install.package_version
end
want_to_upgrade?() click to toggle source
# File lib/npm2gem/cli.rb, line 39
def want_to_upgrade?
  agree("Do you want to upgrade? [y/n]", true)
end