Sha256: b1f8764543f8afa0dc5edde3ccb1b55fdb1b8fd67f4eb8d32c9ea94c8c1b6d74

Contents?: true

Size: 845 Bytes

Versions: 54

Compression:

Stored size: 845 Bytes

Contents

# frozen_string_literal: true

module Pennyworth
  module Serializers
    module System
      # Serializes a signal into a compatible format for parsing within Alfred script filters.
      class Signal
        def initialize presenter
          @presenter = presenter
        end

        def to_h
          {
            uid: id,
            title: label,
            subtitle: id,
            arg: label,
            mods: modifications,
            text: {copy: label, largetype: label}
          }
        end

        private

        attr_reader :presenter

        def id = presenter.id

        def label = presenter.label

        def modifications
          {
            alt: {subtitle: "Copy ID.", arg: id},
            cmd: {subtitle: "Copy ID and name.", arg: "#{id}, #{label}"}
          }
        end
      end
    end
  end
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
pennyworth-17.3.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-17.2.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-17.1.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-17.0.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-16.7.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-16.5.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-16.4.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-16.3.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-16.2.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-16.1.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-16.0.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-15.4.1 lib/pennyworth/serializers/system/signal.rb
pennyworth-15.4.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-15.3.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-15.2.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-15.1.1 lib/pennyworth/serializers/system/signal.rb
pennyworth-15.1.0 lib/pennyworth/serializers/system/signal.rb
pennyworth-15.0.3 lib/pennyworth/serializers/system/signal.rb
pennyworth-15.0.2 lib/pennyworth/serializers/system/signal.rb
pennyworth-15.0.1 lib/pennyworth/serializers/system/signal.rb