class Anticuado::Elixir::Hex
Public Instance Methods
format(outdated = nil)
click to toggle source
@param [String] outdated The result of command `mix hex.outdated` @return [Array] Array include outdated data.
If target project have no outdated data, then return blank array such as `[]`
# File lib/anticuado/elixir/hex.rb, line 22 def format(outdated = nil) @outdated_libraries = outdated unless outdated.nil? array = @outdated_libraries.split(/\R/).map(&:strip) index = array.find_index { |line| line.scan(/\ADependency\s+Current\s+/) != [] } return [] if index.nil? @formatted_outdated_libraries = array[index + 1..array.size].reduce([]) do |acc, library| break acc if library.empty? array_lib = library.split(/\s+/) current_version = array_lib[1] last_version = array_lib[2] if current_version != last_version acc.push({ library_name: array_lib[0], current_version: current_version, available_version: last_version, latest_version: last_version }) end acc end end
outdated()
click to toggle source
@return [String] The result of command `mix hex.outdated`.
# File lib/anticuado/elixir/hex.rb, line 5 def outdated return puts "have no mix command" if `which mix`.empty? `mix local.hex --force` if @project_dir Dir.chdir(@project_dir) do @outdated_libraries = `mix hex.outdated` end else @outdated_libraries = `mix hex.outdated` end @outdated_libraries end