Sha256: d4b7ad5f003ee39122f4966098617c97cced65da1428499815314b9c335b38c8

Contents?: true

Size: 1.12 KB

Versions: 3

Compression:

Stored size: 1.12 KB

Contents

module BundleOnly
  module Messages
    module_function

    def without_groups_message(groups)
      group_list = [groups[0...-1].join(', '), groups[-1..-1]]
                   .reject { |s| s.to_s.empty? }.join(' and ')
      group_str = (groups.size == 1) ? 'group' : 'groups'
      "Gems in the #{group_str} #{group_list} were not installed."
    end

    def confirm_without_groups
      groups = Bundler.settings.without
      Bundler.ui.confirm without_groups_message(groups) if groups.any?
    end

    def dependencies_count_for(definition)
      count = definition.dependencies.count
      "#{count} Gemfile #{count == 1 ? 'dependency' : 'dependencies'}"
    end

    def gems_installed_for(definition)
      count = definition.specs.count
      "#{count} #{count == 1 ? 'gem' : 'gems'} now installed"
    end

    def print_post_install_message(name, msg)
      Bundler.ui.confirm "Post-install message from #{name}:"
      Bundler.ui.info msg
    end

    def print_installation_complete(definition)
      Bundler.ui.confirm "Bundle complete! #{dependencies_count_for(definition)}, #{gems_installed_for(definition)}."
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
bundle-only-0.2.0 lib/bundle-only/messages.rb
bundle-only-0.1.1 lib/bundle-only/messages.rb
bundle-only-0.1.0 lib/bundle-only/messages.rb