pennyworth 10.0.1 → 11.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/README.adoc +209 -30
  5. data/bin/pennyworth +1 -3
  6. data/lib/pennyworth.rb +11 -2
  7. data/lib/pennyworth/cli/actions/config.rb +35 -0
  8. data/lib/pennyworth/cli/actions/encodings.rb +23 -0
  9. data/lib/pennyworth/cli/actions/git_hub.rb +27 -0
  10. data/lib/pennyworth/cli/actions/http_statuses.rb +23 -0
  11. data/lib/pennyworth/cli/actions/ruby_gems.rb +27 -0
  12. data/lib/pennyworth/cli/actions/system/errors.rb +25 -0
  13. data/lib/pennyworth/cli/actions/system/signals.rb +25 -0
  14. data/lib/pennyworth/cli/actions/text.rb +23 -0
  15. data/lib/pennyworth/cli/configuration/content.rb +28 -0
  16. data/lib/pennyworth/cli/configuration/defaults.yml +25 -0
  17. data/lib/pennyworth/cli/configuration/loader.rb +37 -0
  18. data/lib/pennyworth/cli/parsers.rb +11 -0
  19. data/lib/pennyworth/cli/parsers/assembler.rb +32 -0
  20. data/lib/pennyworth/cli/parsers/core.rb +100 -0
  21. data/lib/pennyworth/cli/parsers/git_hub.rb +51 -0
  22. data/lib/pennyworth/cli/parsers/ruby_gems.rb +35 -0
  23. data/lib/pennyworth/cli/shell.rb +82 -0
  24. data/lib/pennyworth/container.rb +40 -0
  25. data/lib/pennyworth/identity.rb +2 -1
  26. data/lib/pennyworth/inflector.rb +18 -0
  27. data/lib/pennyworth/integrations/git_hub/client.rb +59 -0
  28. data/lib/pennyworth/integrations/git_hub/response.rb +33 -0
  29. data/lib/pennyworth/integrations/ruby_gems/client.rb +29 -0
  30. data/lib/pennyworth/loaders/encodings.rb +31 -0
  31. data/lib/pennyworth/loaders/http_statuses.rb +28 -0
  32. data/lib/pennyworth/loaders/projects.rb +22 -0
  33. data/lib/pennyworth/loaders/system/errors.rb +33 -0
  34. data/lib/pennyworth/loaders/system/signals.rb +21 -0
  35. data/lib/pennyworth/loaders/text.rb +27 -0
  36. data/lib/pennyworth/models/encoding.rb +8 -0
  37. data/lib/pennyworth/models/http_status.rb +8 -0
  38. data/lib/pennyworth/models/system/error.rb +10 -0
  39. data/lib/pennyworth/models/system/signal.rb +10 -0
  40. data/lib/pennyworth/models/text.rb +8 -0
  41. data/lib/pennyworth/presenters/encoding.rb +22 -0
  42. data/lib/pennyworth/presenters/gem.rb +48 -0
  43. data/lib/pennyworth/presenters/http_status.rb +41 -0
  44. data/lib/pennyworth/presenters/repository.rb +35 -0
  45. data/lib/pennyworth/presenters/system/error.rb +28 -0
  46. data/lib/pennyworth/presenters/system/signal.rb +22 -0
  47. data/lib/pennyworth/presenters/text.rb +25 -0
  48. data/lib/pennyworth/processor.rb +68 -0
  49. data/lib/pennyworth/serializers/encoding.rb +33 -0
  50. data/lib/pennyworth/serializers/http_status.rb +41 -0
  51. data/lib/pennyworth/serializers/project.rb +52 -0
  52. data/lib/pennyworth/serializers/system/error.rb +46 -0
  53. data/lib/pennyworth/serializers/system/signal.rb +40 -0
  54. data/lib/pennyworth/serializers/text.rb +31 -0
  55. metadata +110 -19
  56. metadata.gz.sig +2 -2
  57. data/lib/pennyworth/cli.rb +0 -140
  58. data/lib/pennyworth/templates/workflows/user.workflow.B59B22A2-1880-4765-9358-412791BE9202/icon.png +0 -0
  59. data/lib/pennyworth/templates/workflows/user.workflow.B59B22A2-1880-4765-9358-412791BE9202/info.plist +0 -159
  60. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/icon.png +0 -0
  61. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/info.plist +0 -272
  62. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-camelcase.png +0 -0
  63. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-capitalize.png +0 -0
  64. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-lowercase.png +0 -0
  65. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-size.png +0 -0
  66. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-snakecase.png +0 -0
  67. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-titleize.png +0 -0
  68. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-uppercase.png +0 -0
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pennyworth
4
+ module Serializers
5
+ module System
6
+ # Serializes a signal into a compatible format for parsing within Alfred script filters.
7
+ class Signal
8
+ def initialize presenter
9
+ @presenter = presenter
10
+ end
11
+
12
+ def to_h
13
+ {
14
+ uid: id,
15
+ title: label,
16
+ subtitle: id,
17
+ arg: label,
18
+ mods: modifications,
19
+ text: {copy: label, largetype: label}
20
+ }
21
+ end
22
+
23
+ private
24
+
25
+ attr_reader :presenter
26
+
27
+ def id = presenter.id
28
+
29
+ def label = presenter.label
30
+
31
+ def modifications
32
+ {
33
+ alt: {subtitle: "Copy ID.", arg: id},
34
+ cmd: {subtitle: "Copy ID and name.", arg: "#{id}, #{label}"}
35
+ }
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pennyworth
4
+ module Serializers
5
+ # Serializes a text into a compatible format for parsing within Alfred script filters.
6
+ class Text
7
+ def initialize presenter
8
+ @presenter = presenter
9
+ end
10
+
11
+ def to_h
12
+ {
13
+ uid: id,
14
+ title: presenter.label,
15
+ subtitle: id.capitalize,
16
+ arg: content,
17
+ icon: {path: "text/#{id}.png"},
18
+ text: {copy: content, largetype: content}
19
+ }
20
+ end
21
+
22
+ private
23
+
24
+ attr_reader :presenter
25
+
26
+ def id = presenter.id
27
+
28
+ def content = presenter.content
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pennyworth
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.0.1
4
+ version: 11.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,8 +28,64 @@ cert_chain:
28
28
  lkHilIrX69jq8wMPpBhlaw2mRmeSL50Wv5u6xVBvOHhXFSP1crXM95vfLhLyRYod
29
29
  W2A=
30
30
  -----END CERTIFICATE-----
31
- date: 2021-04-18 00:00:00.000000000 Z
31
+ date: 2021-06-03 00:00:00.000000000 Z
32
32
  dependencies:
33
+ - !ruby/object:Gem::Dependency
34
+ name: dry-container
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.7'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.7'
47
+ - !ruby/object:Gem::Dependency
48
+ name: http
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '5.0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '5.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: pastel
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.8'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.8'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rack
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.2'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.2'
33
89
  - !ruby/object:Gem::Dependency
34
90
  name: refinements
35
91
  requirement: !ruby/object:Gem::Requirement
@@ -59,19 +115,19 @@ dependencies:
59
115
  - !ruby/object:Gem::Version
60
116
  version: '7.0'
61
117
  - !ruby/object:Gem::Dependency
62
- name: thor
118
+ name: zeitwerk
63
119
  requirement: !ruby/object:Gem::Requirement
64
120
  requirements:
65
121
  - - "~>"
66
122
  - !ruby/object:Gem::Version
67
- version: '0.20'
123
+ version: '2.4'
68
124
  type: :runtime
69
125
  prerelease: false
70
126
  version_requirements: !ruby/object:Gem::Requirement
71
127
  requirements:
72
128
  - - "~>"
73
129
  - !ruby/object:Gem::Version
74
- version: '0.20'
130
+ version: '2.4'
75
131
  description:
76
132
  email:
77
133
  - brooke@alchemists.io
@@ -86,19 +142,54 @@ files:
86
142
  - README.adoc
87
143
  - bin/pennyworth
88
144
  - lib/pennyworth.rb
89
- - lib/pennyworth/cli.rb
145
+ - lib/pennyworth/cli/actions/config.rb
146
+ - lib/pennyworth/cli/actions/encodings.rb
147
+ - lib/pennyworth/cli/actions/git_hub.rb
148
+ - lib/pennyworth/cli/actions/http_statuses.rb
149
+ - lib/pennyworth/cli/actions/ruby_gems.rb
150
+ - lib/pennyworth/cli/actions/system/errors.rb
151
+ - lib/pennyworth/cli/actions/system/signals.rb
152
+ - lib/pennyworth/cli/actions/text.rb
153
+ - lib/pennyworth/cli/configuration/content.rb
154
+ - lib/pennyworth/cli/configuration/defaults.yml
155
+ - lib/pennyworth/cli/configuration/loader.rb
156
+ - lib/pennyworth/cli/parsers.rb
157
+ - lib/pennyworth/cli/parsers/assembler.rb
158
+ - lib/pennyworth/cli/parsers/core.rb
159
+ - lib/pennyworth/cli/parsers/git_hub.rb
160
+ - lib/pennyworth/cli/parsers/ruby_gems.rb
161
+ - lib/pennyworth/cli/shell.rb
162
+ - lib/pennyworth/container.rb
90
163
  - lib/pennyworth/identity.rb
91
- - lib/pennyworth/templates/workflows/user.workflow.B59B22A2-1880-4765-9358-412791BE9202/icon.png
92
- - lib/pennyworth/templates/workflows/user.workflow.B59B22A2-1880-4765-9358-412791BE9202/info.plist
93
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/icon.png
94
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/info.plist
95
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-camelcase.png
96
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-capitalize.png
97
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-lowercase.png
98
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-size.png
99
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-snakecase.png
100
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-titleize.png
101
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-uppercase.png
164
+ - lib/pennyworth/inflector.rb
165
+ - lib/pennyworth/integrations/git_hub/client.rb
166
+ - lib/pennyworth/integrations/git_hub/response.rb
167
+ - lib/pennyworth/integrations/ruby_gems/client.rb
168
+ - lib/pennyworth/loaders/encodings.rb
169
+ - lib/pennyworth/loaders/http_statuses.rb
170
+ - lib/pennyworth/loaders/projects.rb
171
+ - lib/pennyworth/loaders/system/errors.rb
172
+ - lib/pennyworth/loaders/system/signals.rb
173
+ - lib/pennyworth/loaders/text.rb
174
+ - lib/pennyworth/models/encoding.rb
175
+ - lib/pennyworth/models/http_status.rb
176
+ - lib/pennyworth/models/system/error.rb
177
+ - lib/pennyworth/models/system/signal.rb
178
+ - lib/pennyworth/models/text.rb
179
+ - lib/pennyworth/presenters/encoding.rb
180
+ - lib/pennyworth/presenters/gem.rb
181
+ - lib/pennyworth/presenters/http_status.rb
182
+ - lib/pennyworth/presenters/repository.rb
183
+ - lib/pennyworth/presenters/system/error.rb
184
+ - lib/pennyworth/presenters/system/signal.rb
185
+ - lib/pennyworth/presenters/text.rb
186
+ - lib/pennyworth/processor.rb
187
+ - lib/pennyworth/serializers/encoding.rb
188
+ - lib/pennyworth/serializers/http_status.rb
189
+ - lib/pennyworth/serializers/project.rb
190
+ - lib/pennyworth/serializers/system/error.rb
191
+ - lib/pennyworth/serializers/system/signal.rb
192
+ - lib/pennyworth/serializers/text.rb
102
193
  homepage: https://www.alchemists.io/projects/pennyworth
103
194
  licenses:
104
195
  - Apache-2.0
@@ -122,8 +213,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
213
  - !ruby/object:Gem::Version
123
214
  version: '0'
124
215
  requirements: []
125
- rubygems_version: 3.2.16
216
+ rubygems_version: 3.2.18
126
217
  signing_key:
127
218
  specification_version: 4
128
- summary: A command line interface that enhances Alfred with Ruby support.
219
+ summary: A command line interface that augments Alfred workflows.
129
220
  test_files: []
metadata.gz.sig CHANGED
@@ -1,2 +1,2 @@
1
- pV�,7U;M^{{�ڍ�BB:��� N���N��3�@�dT�Q����gK��|3X�2�� K�%s^0���)��
2
- W����\��[�3E61�����# ��\���&^�{c5{nܥ��%ޥ\/~��z���O�E�h�#�-�=��s����=F*�L����R���ɓ<��0@��f�?��9-��5< ~���'�}5Ug���W�h �]�t-���p���H`b�,�?YKlzⲳ�
1
+ H3_�(]�g*
2
+ �b�%� ��W��x)�ע�����@A+�\��6�$���� ���b��.�T7�����b��'˲�%0I%
@@ -1,140 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "thor"
4
- require "thor/actions"
5
- require "refinements/strings"
6
- require "runcom"
7
-
8
- module Pennyworth
9
- # The Command Line Interface (CLI) for the gem.
10
- # rubocop:disable Metrics/ClassLength
11
- class CLI < Thor
12
- include Thor::Actions
13
- using Refinements::Strings
14
-
15
- package_name Identity::VERSION_LABEL
16
-
17
- def self.source_root
18
- File.expand_path File.join(File.dirname(__FILE__), "templates")
19
- end
20
-
21
- def self.configuration
22
- Runcom::Config.new "#{Identity::NAME}/configuration.yml"
23
- end
24
-
25
- def initialize args = [], options = {}, config = {}
26
- super args, options, config
27
- end
28
-
29
- desc "-s, [--string=VALUE]", "Manipulate strings."
30
- map %w[-s --string] => :string
31
- method_option :downcase,
32
- aliases: "-d",
33
- desc: "Downcase string.",
34
- type: :boolean,
35
- default: false
36
- method_option :upcase,
37
- aliases: "-u",
38
- desc: "Upcase string.",
39
- type: :boolean,
40
- default: false
41
- method_option :titleize,
42
- aliases: "-t",
43
- desc: "Capitalize each word and delimit with space or forward slash.",
44
- type: :boolean,
45
- default: false
46
- method_option :camelcase,
47
- aliases: "-c",
48
- desc: "Capitalize each word and delimit with nothing or double colon.",
49
- type: :boolean,
50
- default: false
51
- method_option :snakecase,
52
- aliases: "-s",
53
- desc: "Downcase each word and delimit with underscore or forward slash.",
54
- type: :boolean,
55
- default: false
56
- method_option :size,
57
- aliases: "-s",
58
- desc: "Calculate string size.",
59
- type: :boolean,
60
- default: false
61
- def string value
62
- if options.downcase? then say value.downcase
63
- elsif options.upcase? then say value.upcase
64
- elsif options.titleize? then say value.titleize
65
- elsif options.camelcase? then say value.camelcase
66
- elsif options.snakecase? then say value.snakecase
67
- elsif options.size? then say value.size
68
- else say "Type 'pennyworth help string' for usage."
69
- end
70
- end
71
-
72
- desc "-i, [--install]", "Install Alfred Workflows."
73
- map %w[-i --install] => :install
74
- def install
75
- say
76
-
77
- alfred_settings_root = self.class.configuration.to_h[:alfred_settings_root]
78
-
79
- if valid_file? alfred_settings_root, "Invalid directory for Alfred settings root"
80
- if yes? "Installing Alfred Workflows will destroy exiting, identical, workflows. " \
81
- "Continue (y/n)?"
82
-
83
- say_status :info, "Installing Alfred Workflows...", :green
84
-
85
- workflows = Dir.glob File.join(self.class.source_root, "workflows", "**")
86
- alfred_workflows_root = File.join alfred_settings_root, "workflows"
87
- workflows.each do |workflow|
88
- name = File.basename workflow
89
- destination = File.join alfred_workflows_root, name
90
- remove_file destination
91
- directory File.join("workflows", name), destination
92
- end
93
-
94
- say_status :info, "Alfred Workflows installed.", :green
95
- else
96
- say_status :info, "Alfred Workflows installation cancelled.", :green
97
- end
98
- else
99
- say_status :error, "Invalid Alfred settings directory: #{alfred_settings_root}", :red
100
- end
101
-
102
- say
103
- end
104
-
105
- desc "-c, [--config]", "Manage gem configuration."
106
- map %w[-c --config] => :config
107
- method_option :edit,
108
- aliases: "-e",
109
- desc: "Edit gem configuration.",
110
- type: :boolean,
111
- default: false
112
- method_option :info,
113
- aliases: "-i",
114
- desc: "Print gem configuration.",
115
- type: :boolean,
116
- default: false
117
- def config
118
- path = self.class.configuration.current
119
-
120
- if options.edit? then `#{ENV["EDITOR"]} #{path}`
121
- elsif options.info?
122
- path ? say(path) : say("Configuration doesn't exist.")
123
- else help :config
124
- end
125
- end
126
-
127
- desc "-v, [--version]", "Show gem version."
128
- map %w[-v --version] => :version
129
- def version
130
- say Identity::VERSION_LABEL
131
- end
132
-
133
- desc "-h, [--help=COMMAND]", "Show this message or get help for a command."
134
- map %w[-h --help] => :help
135
- def help task = nil
136
- say and super
137
- end
138
- end
139
- # rubocop:enable Metrics/ClassLength
140
- end
@@ -1,159 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>bundleid</key>
6
- <string>io.alchemists.rails.workflow</string>
7
- <key>category</key>
8
- <string>Tools</string>
9
- <key>connections</key>
10
- <dict>
11
- <key>9AF7E939-D5FB-483D-927D-537571A9F4C1</key>
12
- <array>
13
- <dict>
14
- <key>destinationuid</key>
15
- <string>F5AE9865-912A-42EA-804C-368DF8AB71B0</string>
16
- <key>modifiers</key>
17
- <integer>0</integer>
18
- <key>modifiersubtext</key>
19
- <string></string>
20
- <key>vitoclose</key>
21
- <false/>
22
- </dict>
23
- </array>
24
- <key>F5AE9865-912A-42EA-804C-368DF8AB71B0</key>
25
- <array>
26
- <dict>
27
- <key>destinationuid</key>
28
- <string>A3A3916E-1338-4403-BA88-39E4D9E1B703</string>
29
- <key>modifiers</key>
30
- <integer>0</integer>
31
- <key>modifiersubtext</key>
32
- <string></string>
33
- <key>vitoclose</key>
34
- <false/>
35
- </dict>
36
- </array>
37
- </dict>
38
- <key>createdby</key>
39
- <string>Brooke Kuhlmann</string>
40
- <key>description</key>
41
- <string>A collection of Ruby on Rails shortcuts.</string>
42
- <key>disabled</key>
43
- <false/>
44
- <key>name</key>
45
- <string>Ruby on Rails</string>
46
- <key>objects</key>
47
- <array>
48
- <dict>
49
- <key>config</key>
50
- <dict>
51
- <key>argumenttrimmode</key>
52
- <integer>0</integer>
53
- <key>argumenttype</key>
54
- <integer>1</integer>
55
- <key>fixedorder</key>
56
- <false/>
57
- <key>items</key>
58
- <string>[{"title":"Local","subtitle":"Open development server."},{"title":"Routes","arg":"rails\/routes","subtitle":"View routes."},{"title":"Mailers","arg":"rails\/mailers","subtitle":"View email."}]</string>
59
- <key>keyword</key>
60
- <string>ror</string>
61
- <key>runningsubtext</key>
62
- <string></string>
63
- <key>subtext</key>
64
- <string>Open Rails in default browser.</string>
65
- <key>title</key>
66
- <string>Ruby on Rails</string>
67
- <key>withspace</key>
68
- <true/>
69
- </dict>
70
- <key>type</key>
71
- <string>alfred.workflow.input.listfilter</string>
72
- <key>uid</key>
73
- <string>9AF7E939-D5FB-483D-927D-537571A9F4C1</string>
74
- <key>version</key>
75
- <integer>1</integer>
76
- </dict>
77
- <dict>
78
- <key>config</key>
79
- <dict>
80
- <key>browser</key>
81
- <string></string>
82
- <key>spaces</key>
83
- <string></string>
84
- <key>url</key>
85
- <string>{var:url}</string>
86
- <key>utf8</key>
87
- <true/>
88
- </dict>
89
- <key>type</key>
90
- <string>alfred.workflow.action.openurl</string>
91
- <key>uid</key>
92
- <string>A3A3916E-1338-4403-BA88-39E4D9E1B703</string>
93
- <key>version</key>
94
- <integer>1</integer>
95
- </dict>
96
- <dict>
97
- <key>config</key>
98
- <dict>
99
- <key>argument</key>
100
- <string>{query}</string>
101
- <key>variables</key>
102
- <dict>
103
- <key>url</key>
104
- <string>{var:host}:{var:port}/{query}</string>
105
- </dict>
106
- </dict>
107
- <key>type</key>
108
- <string>alfred.workflow.utility.argument</string>
109
- <key>uid</key>
110
- <string>F5AE9865-912A-42EA-804C-368DF8AB71B0</string>
111
- <key>version</key>
112
- <integer>1</integer>
113
- </dict>
114
- </array>
115
- <key>readme</key>
116
- <string>= Overview
117
-
118
- Provides a collection of Ruby on Rails utilities when interacting with the application locally.</string>
119
- <key>uidata</key>
120
- <dict>
121
- <key>9AF7E939-D5FB-483D-927D-537571A9F4C1</key>
122
- <dict>
123
- <key>xpos</key>
124
- <integer>30</integer>
125
- <key>ypos</key>
126
- <integer>20</integer>
127
- </dict>
128
- <key>A3A3916E-1338-4403-BA88-39E4D9E1B703</key>
129
- <dict>
130
- <key>xpos</key>
131
- <integer>290</integer>
132
- <key>ypos</key>
133
- <integer>20</integer>
134
- </dict>
135
- <key>F5AE9865-912A-42EA-804C-368DF8AB71B0</key>
136
- <dict>
137
- <key>note</key>
138
- <string>url</string>
139
- <key>xpos</key>
140
- <integer>200</integer>
141
- <key>ypos</key>
142
- <integer>50</integer>
143
- </dict>
144
- </dict>
145
- <key>variables</key>
146
- <dict>
147
- <key>host</key>
148
- <string>http://localhost</string>
149
- <key>port</key>
150
- <string>3000</string>
151
- </dict>
152
- <key>variablesdontexport</key>
153
- <array/>
154
- <key>version</key>
155
- <string>1.0.0</string>
156
- <key>webaddress</key>
157
- <string>https://www.alchemists.io</string>
158
- </dict>
159
- </plist>