Class: Anticuado::JavaScript::Npm
- Defined in:
- lib/anticuado/javascript/npm.rb
Instance Attribute Summary
Attributes inherited from Base
#formatted_outdated_libraries, #outdated_libraries, #project_dir
Instance Method Summary collapse
-
#format(outdated = nil) ⇒ Array
Array include outdated data.
-
#outdated ⇒ String
The result of command ‘npm outdated`.
Methods inherited from Base
Constructor Details
This class inherits a constructor from Anticuado::Base
Instance Method Details
#format(outdated = nil) ⇒ Array
Returns Array include outdated data. If target project have no outdated data, then return blank array such as [].
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/anticuado/javascript/npm.rb', line 21 def format(outdated = nil) @outdated_libraries = outdated unless outdated.nil? array = @outdated_libraries.split(/\R/).map(&:strip) index = array.find_index { |line| line.scan(/\APackage\s+Current\s+Wanted\s+Latest\s+Location\z/) != [] } return [] if index.nil? @formatted_outdated_libraries = array[index + 1...array.size].map do |library| versions = library.split(/\s+/) # e.g. ["babel-brunch", "6.0.2", "6.0.6", "6.0.6"] { library_name: versions[0], current_version: versions[1], available_version: versions[2], latest_version: versions[3] } end end |
#outdated ⇒ String
Returns The result of command ‘npm outdated`.
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/anticuado/javascript/npm.rb', line 5 def outdated return puts "have no npm command" if `which npm`.empty? if @project_dir Dir.chdir(@project_dir) do @outdated_libraries = run_outdated end else @outdated_libraries = run_outdated end @outdated_libraries end |