Sha256: 0aa26bc7d6f3115b1f432bfab8692daa2940711f33d8e3de5f23ae13b6bf49c7
Contents?: true
Size: 1.07 KB
Versions: 41
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true module Pennyworth module Serializers # Serializes a project into a compatible format for parsing within Alfred script filters. class Project def initialize presenter @presenter = presenter end def to_h { uid: presenter.id, title: presenter.label, subtitle: presenter.subtitle, arg: site_url, quicklookurl: site_url, mods: modifications, text: } end private attr_reader :presenter def modifications { alt: modification(presenter.source_url, "View source."), cmd: modification(presenter.issues_url, "View issues."), control: modification(presenter.versions_url, "View versions.") } end def modification argument, subtitle { subtitle:, arg: argument } end def text { copy: site_url, largetype: site_url } end def site_url = presenter.site_url end end end
Version data entries
41 entries across 41 versions & 1 rubygems