Sha256: d9fa6bbe13b69616359fa1465ffdb523f8ef194fd5e7caee8bc7541ec00a8fff

Contents?: true

Size: 708 Bytes

Versions: 2

Compression:

Stored size: 708 Bytes

Contents

# frozen_string_literal: true

require "sod"

module Pennyworth
  module CLI
    module Actions
      # Handles the RubyGem action.
      class Gem < Sod::Action
        include Import[:io]

        description "Render Alfred RubyGems script filter."

        on "--gems", argument: "[HANDLE]"

        default { Container[:settings].ruby_gems_owner }

        def initialize(processor: Processor.for_gems, **)
          super(**)
          @processor = processor
        end

        def call handle = nil
          endpoint = "owners/#{handle || default}/gems.json"
          io.puts processor.call(endpoint).to_json
        end

        private

        attr_reader :processor
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
pennyworth-17.1.0 lib/pennyworth/cli/actions/gem.rb
pennyworth-17.0.0 lib/pennyworth/cli/actions/gem.rb