Sha256: 6e39accca892afe39af6a0da839a06555848f0fa163211cee0dfa354d35fbf4a

Contents?: true

Size: 1.13 KB

Versions: 9

Compression:

Stored size: 1.13 KB

Contents

require 'natives/host_detection'
require 'natives/catalog'
require 'natives/gemfile_viewer'

module Natives
  module Apps
    class List

      def natives_for(catalog_name, entry_names)
        host = new_host_detection
        catalog = new_catalog(catalog_name,
                              host.platform, host.platform_version,
                              host.package_provider)
        catalog.native_packages_for(entry_names)
      end

      def natives_for_gemfile(gemfile_path)
        host = new_host_detection
        gem_names = new_gemfile_viewer(gemfile_path).gem_names
        catalog = new_catalog('rubygems',
                              host.platform, host.platform_version,
                              host.package_provider)
        catalog.native_packages_for(gem_names)
      end

      def new_gemfile_viewer(gemfile_path)
        GemfileViewer.new(gemfile_path)
      end

      def new_catalog(catalog_name, platform, platform_version, package_provider)
        Catalog.new(catalog_name, platform, platform_version, package_provider)
      end

      def new_host_detection
        HostDetection.new
      end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
natives-0.6.2 lib/natives/apps/list.rb
natives-0.6.1 lib/natives/apps/list.rb
natives-0.6.0 lib/natives/apps/list.rb
natives-0.5.5 lib/natives/apps/list.rb
natives-0.5.4 lib/natives/apps/list.rb
natives-0.5.3 lib/natives/apps/list.rb
natives-0.5.2 lib/natives/apps/list.rb
natives-0.5.1 lib/natives/apps/list.rb
natives-0.5.0 lib/natives/apps/list.rb