Class: Veye::Package::Versions

Inherits:
BaseExecutor show all
Defined in:
lib/veye/package/versions.rb

Class Method Summary collapse

Methods inherited from BaseExecutor

catch_request_error, filter_dependencies, get_formatter, process_dependencies, show_bulk_dependencies, show_dependencies, show_message, show_results, sort_dependencies_by_upgrade_complexity, valid_response?

Methods included from FormatHelpers

#format_exists?, #formats_attached?, #supported_format?

Class Method Details

.get_list(api_key, prod_key, lang = 'ruby', n = 10, from = 0, options = {}) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/veye/package/versions.rb', line 16

def self.get_list(api_key, prod_key, lang = 'ruby', n = 10, from = 0, options = {})
  results = Veye::API::Package.get_version_list(api_key, prod_key, lang)
  err_msg = "Found no versions for #{lang} package `#{prod_key}`"

  if valid_response?(results, err_msg)
    sorted_items = results.data['versions'].to_a.sort do |a, b| 
      Naturalsorter::Sorter.bigger?(a['version'], b['version']) ? -1 : 1
    end

    filtered_items =  if options.has_key?('all') and options['all'] == true
                        sorted_items
                      else
                        sorted_items.to_a.drop(from).take(n)
                      end
    results.data['versions'] = filtered_items

    show_results(@output_formats, results.data, options)
  end
end