pennyworth 3.2.0 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data.tar.gz.sig +2 -0
- data/README.md +24 -25
- data/bin/pennyworth +2 -1
- data/lib/pennyworth.rb +3 -3
- data/lib/pennyworth/cli.rb +83 -38
- data/lib/pennyworth/identity.rb +3 -1
- data/lib/pennyworth/templates/workflows/user.workflow.B59B22A2-1880-4765-9358-412791BE9202/info.plist +164 -7
- data/lib/pennyworth/templates/workflows/user.workflow.B59B22A2-1880-4765-9358-412791BE9202/rails.png +0 -0
- data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/icon.png +0 -0
- data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/info.plist +105 -307
- data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-camelcase.png +0 -0
- data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/{F03EB975-27A1-49C1-BB1D-42886955C024.png → string-capitalize.png} +0 -0
- data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-lowercase.png +0 -0
- data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/{85BF3157-4376-4EEF-822C-8787964193B7.png → string-size.png} +0 -0
- data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-snakecase.png +0 -0
- data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-titleize.png +0 -0
- data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-uppercase.png +0 -0
- data/lib/tasks/reek.rake +8 -0
- data/lib/tasks/rspec.rake +2 -0
- data/lib/tasks/rubocop.rake +2 -0
- metadata +125 -86
- metadata.gz.sig +0 -0
- data/lib/pennyworth/kits/clipboard.rb +0 -14
- data/lib/pennyworth/kits/string.rb +0 -48
- data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/CD056464-6D30-4A8A-8202-E7B7AB5836D8.png +0 -0
- data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/ED61F954-8B44-47F9-AD2D-C236868286D1.png +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 38c8c98330ee92f2741d190ec5057aba36f40c35
|
4
|
+
data.tar.gz: 3cacd478a5f0d0d51d76c3a722d0380b929bbec4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6a2aec62949c38af88c2553e4818ace19f338351db400f989ab2afd916177bde83d2f9c50de81b56ef51003665a2b1c2a1e8a30d255d24ec78839653c4996d36
|
7
|
+
data.tar.gz: f98d36d7509a9b458714e79cdc9f7e9b6ebd03eaa279eb6f6efcb173e0a9cd98dba4f0266a4e8cfaf162df13f435b874cd1dea8b6a2b6a502d0fa29cc932b700
|
checksums.yaml.gz.sig
ADDED
Binary file
|
data.tar.gz.sig
ADDED
data/README.md
CHANGED
@@ -30,26 +30,23 @@ A command line interface that enhances and extends Alfred with Ruby support.
|
|
30
30
|
# Features
|
31
31
|
|
32
32
|
- Adds Ruby support to Alfred.
|
33
|
-
- Adds
|
34
|
-
|
35
|
-
|
36
|
-
- Pennyworth String Downcase
|
37
|
-
- Pennyworth String Capitalize
|
38
|
-
- Ruby on Rails Kit
|
33
|
+
- Adds Alfred Workflow:
|
34
|
+
|
35
|
+
![Alfred Workflow](doc/alfred_workflow.png)
|
39
36
|
|
40
37
|
# Requirements
|
41
38
|
|
42
|
-
0. [
|
39
|
+
0. [macOS](https://www.apple.com/macos).
|
43
40
|
0. [Alfred](https://www.alfredapp.com) (Version 2.x.x or higher).
|
44
41
|
0. [Alfred Powerpack](https://www.alfredapp.com/purchase).
|
45
42
|
0. [rbenv](https://github.com/sstephenson/rbenv).
|
46
|
-
0. [
|
43
|
+
0. [Ruby 2.x.x](https://www.ruby-lang.org).
|
47
44
|
|
48
45
|
# Setup
|
49
46
|
|
50
47
|
For a secure install, type the following from the command line (recommended):
|
51
48
|
|
52
|
-
gem cert --add <(curl
|
49
|
+
gem cert --add <(curl --location --silent https://www.alchemists.io/gem-public.pem)
|
53
50
|
gem install pennyworth --trust-policy MediumSecurity
|
54
51
|
|
55
52
|
NOTE: A HighSecurity trust policy would be best but MediumSecurity enables signed gem verification while
|
@@ -61,7 +58,7 @@ For an insecure install, type the following (not recommended):
|
|
61
58
|
|
62
59
|
You can configure common settings for future gem builds by creating the following file:
|
63
60
|
|
64
|
-
~/.
|
61
|
+
~/.pennyworthrc
|
65
62
|
|
66
63
|
...using the following settings (for example):
|
67
64
|
|
@@ -72,18 +69,20 @@ You can configure common settings for future gem builds by creating the followin
|
|
72
69
|
|
73
70
|
From the command line, type: pennyworth
|
74
71
|
|
75
|
-
pennyworth -
|
76
|
-
pennyworth -h, [help]
|
77
|
-
pennyworth -i, [install]
|
78
|
-
pennyworth -s, [string]
|
79
|
-
pennyworth -v, [version]
|
72
|
+
pennyworth -c, [--config] # Manage gem configuration.
|
73
|
+
pennyworth -h, [--help=COMMAND] # Show this message or get help for a command.
|
74
|
+
pennyworth -i, [--install] # Install Alfred Workflows.
|
75
|
+
pennyworth -s, [--string=VALUE] # Manipulate strings.
|
76
|
+
pennyworth -v, [--version] # Show gem version.
|
80
77
|
|
81
78
|
For string options, type: pennyworth help string
|
82
79
|
|
83
|
-
-d, [--downcase
|
84
|
-
-u, [--upcase
|
85
|
-
-
|
86
|
-
-
|
80
|
+
-d, [--downcase], [--no-downcase] # Downcase string.
|
81
|
+
-u, [--upcase], [--no-upcase] # Upcase string.
|
82
|
+
-t, [--titleize], [--no-titleize] # Capitalize each word and delimit with space or forward slash.
|
83
|
+
-c, [--camelcase], [--no-camelcase] # Capitalize each word and delimit with nothing or double colon.
|
84
|
+
-s, [--snakecase], [--no-snakecase] # Downcase each word and delimit with underscore or forward slash.
|
85
|
+
-s, [--size], [--no-size] # Calculate string size.
|
87
86
|
|
88
87
|
While the command line options are nice, the real power comes from running the following command:
|
89
88
|
|
@@ -104,14 +103,14 @@ To test, run:
|
|
104
103
|
|
105
104
|
Read [Semantic Versioning](http://semver.org) for details. Briefly, it means:
|
106
105
|
|
107
|
-
- Patch (x.y.Z) - Incremented for small, backwards compatible bug fixes.
|
108
|
-
- Minor (x.Y.z) - Incremented for new, backwards compatible public API enhancements
|
106
|
+
- Patch (x.y.Z) - Incremented for small, backwards compatible, bug fixes.
|
107
|
+
- Minor (x.Y.z) - Incremented for new, backwards compatible, public API enhancements/fixes.
|
109
108
|
- Major (X.y.z) - Incremented for any backwards incompatible public API changes.
|
110
109
|
|
111
110
|
# Code of Conduct
|
112
111
|
|
113
|
-
Please note that this project is released with a [CODE OF CONDUCT](CODE_OF_CONDUCT.md). By
|
114
|
-
you agree to abide by its terms.
|
112
|
+
Please note that this project is released with a [CODE OF CONDUCT](CODE_OF_CONDUCT.md). By
|
113
|
+
participating in this project you agree to abide by its terms.
|
115
114
|
|
116
115
|
# Contributions
|
117
116
|
|
@@ -120,11 +119,11 @@ Read [CONTRIBUTING](CONTRIBUTING.md) for details.
|
|
120
119
|
# License
|
121
120
|
|
122
121
|
Copyright (c) 2012 [Alchemists](https://www.alchemists.io).
|
123
|
-
Read
|
122
|
+
Read [LICENSE](LICENSE.md) for details.
|
124
123
|
|
125
124
|
# History
|
126
125
|
|
127
|
-
Read
|
126
|
+
Read [CHANGES](CHANGES.md) for details.
|
128
127
|
Built with [Gemsmith](https://github.com/bkuhlmann/gemsmith).
|
129
128
|
|
130
129
|
# Credits
|
data/bin/pennyworth
CHANGED
data/lib/pennyworth.rb
CHANGED
data/lib/pennyworth/cli.rb
CHANGED
@@ -1,59 +1,91 @@
|
|
1
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
2
3
|
require "thor"
|
3
4
|
require "thor/actions"
|
4
5
|
require "thor_plus/actions"
|
6
|
+
require "refinements/strings"
|
7
|
+
require "runcom"
|
5
8
|
|
6
9
|
module Pennyworth
|
7
10
|
# The Command Line Interface (CLI) for the gem.
|
11
|
+
# rubocop:disable Metrics/ClassLength
|
8
12
|
class CLI < Thor
|
9
13
|
include Thor::Actions
|
10
14
|
include ThorPlus::Actions
|
15
|
+
using Refinements::Strings
|
11
16
|
|
12
|
-
package_name
|
17
|
+
package_name Identity.version_label
|
13
18
|
|
14
|
-
# Overwrites the Thor template source root.
|
15
19
|
def self.source_root
|
16
20
|
File.expand_path File.join(File.dirname(__FILE__), "templates")
|
17
21
|
end
|
18
22
|
|
19
|
-
|
23
|
+
def self.configuration
|
24
|
+
Runcom::Configuration.new file_name: Identity.file_name
|
25
|
+
end
|
26
|
+
|
20
27
|
def initialize args = [], options = {}, config = {}
|
21
28
|
super args, options, config
|
22
|
-
@settings_file = File.join ENV["HOME"], ".pennyworth", "settings.yml"
|
23
|
-
@settings = load_yaml @settings_file
|
24
29
|
end
|
25
30
|
|
26
|
-
desc "-s, [string=
|
27
|
-
map %w
|
28
|
-
method_option :downcase,
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
31
|
+
desc "-s, [--string=VALUE]", "Manipulate strings."
|
32
|
+
map %w[-s --string] => :string
|
33
|
+
method_option :downcase,
|
34
|
+
aliases: "-d",
|
35
|
+
desc: "Downcase string.",
|
36
|
+
type: :boolean,
|
37
|
+
default: false
|
38
|
+
method_option :upcase,
|
39
|
+
aliases: "-u",
|
40
|
+
desc: "Upcase string.",
|
41
|
+
type: :boolean,
|
42
|
+
default: false
|
43
|
+
method_option :titleize,
|
44
|
+
aliases: "-t",
|
45
|
+
desc: "Capitalize each word and delimit with space or forward slash.",
|
46
|
+
type: :boolean,
|
47
|
+
default: false
|
48
|
+
method_option :camelcase,
|
49
|
+
aliases: "-c",
|
50
|
+
desc: "Capitalize each word and delimit with nothing or double colon.",
|
51
|
+
type: :boolean,
|
52
|
+
default: false
|
53
|
+
method_option :snakecase,
|
54
|
+
aliases: "-s",
|
55
|
+
desc: "Downcase each word and delimit with underscore or forward slash.",
|
56
|
+
type: :boolean,
|
57
|
+
default: false
|
58
|
+
method_option :size,
|
59
|
+
aliases: "-s",
|
60
|
+
desc: "Calculate string size.",
|
61
|
+
type: :boolean,
|
62
|
+
default: false
|
63
|
+
# rubocop:disable Metrics/CyclomaticComplexity
|
64
|
+
# rubocop:disable Metrics/PerceivedComplexity
|
65
|
+
def string value
|
66
|
+
if options.downcase? then say(value.downcase)
|
67
|
+
elsif options.upcase? then say(value.upcase)
|
68
|
+
elsif options.titleize? then say(value.titleize)
|
69
|
+
elsif options.camelcase? then say(value.camelcase)
|
70
|
+
elsif options.snakecase? then say(value.snakecase)
|
71
|
+
elsif options.size? then say(value.size)
|
72
|
+
else say("Type 'pennyworth help string' for usage.")
|
43
73
|
end
|
44
74
|
end
|
45
75
|
|
46
|
-
desc "-i, [install]", "Install Alfred Workflows."
|
47
|
-
map %w
|
76
|
+
desc "-i, [--install]", "Install Alfred Workflows."
|
77
|
+
map %w[-i --install] => :install
|
48
78
|
def install
|
49
79
|
say
|
50
80
|
|
51
|
-
|
81
|
+
alfred_settings_root = self.class.configuration.to_h[:alfred_settings_root]
|
82
|
+
|
83
|
+
if valid_file?(alfred_settings_root, "Invalid directory for Alfred settings root")
|
52
84
|
if yes? "Installing Alfred Workflows will destroy exiting workflows of the same name. Continue (y/n)?"
|
53
85
|
info "Installing Alfred Workflows..."
|
54
86
|
|
55
87
|
workflows = Dir.glob File.join(self.class.source_root, "workflows", "**")
|
56
|
-
alfred_workflows_root = File.join
|
88
|
+
alfred_workflows_root = File.join alfred_settings_root, "workflows"
|
57
89
|
workflows.each do |workflow|
|
58
90
|
name = File.basename workflow
|
59
91
|
destination = File.join alfred_workflows_root, name
|
@@ -66,28 +98,41 @@ module Pennyworth
|
|
66
98
|
info "Alfred Workflows installation cancelled."
|
67
99
|
end
|
68
100
|
else
|
69
|
-
error "Invalid Alfred settings directory: #{
|
101
|
+
error "Invalid Alfred settings directory: #{alfred_settings_root}"
|
70
102
|
end
|
71
103
|
|
72
104
|
say
|
73
105
|
end
|
74
106
|
|
75
|
-
desc "-
|
76
|
-
map %w
|
77
|
-
|
78
|
-
|
107
|
+
desc "-c, [--config]", %(Manage gem configuration ("#{configuration.computed_path}").)
|
108
|
+
map %w[-c --config] => :config
|
109
|
+
method_option :edit,
|
110
|
+
aliases: "-e",
|
111
|
+
desc: "Edit gem configuration.",
|
112
|
+
type: :boolean, default: false
|
113
|
+
method_option :info,
|
114
|
+
aliases: "-i",
|
115
|
+
desc: "Print gem configuration.",
|
116
|
+
type: :boolean, default: false
|
117
|
+
def config
|
118
|
+
path = self.class.configuration.computed_path
|
119
|
+
|
120
|
+
if options.edit? then `#{editor} #{path}`
|
121
|
+
elsif options.info? then say(path)
|
122
|
+
else help(:config)
|
123
|
+
end
|
79
124
|
end
|
80
125
|
|
81
|
-
desc "-v, [--version]", "Show
|
82
|
-
map %w
|
126
|
+
desc "-v, [--version]", "Show gem version."
|
127
|
+
map %w[-v --version] => :version
|
83
128
|
def version
|
84
|
-
say
|
129
|
+
say Identity.version_label
|
85
130
|
end
|
86
131
|
|
87
|
-
desc "-h, [--help=
|
88
|
-
map %w
|
132
|
+
desc "-h, [--help=COMMAND]", "Show this message or get help for a command."
|
133
|
+
map %w[-h --help] => :help
|
89
134
|
def help task = nil
|
90
|
-
say
|
135
|
+
say and super
|
91
136
|
end
|
92
137
|
end
|
93
138
|
end
|
data/lib/pennyworth/identity.rb
CHANGED
@@ -8,6 +8,17 @@
|
|
8
8
|
<string>Tools</string>
|
9
9
|
<key>connections</key>
|
10
10
|
<dict>
|
11
|
+
<key>8B48DD29-7E4B-4424-8B8E-18F47785F817</key>
|
12
|
+
<array>
|
13
|
+
<dict>
|
14
|
+
<key>destinationuid</key>
|
15
|
+
<string>A3A3916E-1338-4403-BA88-39E4D9E1B703</string>
|
16
|
+
<key>modifiers</key>
|
17
|
+
<integer>0</integer>
|
18
|
+
<key>modifiersubtext</key>
|
19
|
+
<string></string>
|
20
|
+
</dict>
|
21
|
+
</array>
|
11
22
|
<key>D00FF9D7-4976-488B-AC15-4F268B0FE089</key>
|
12
23
|
<array/>
|
13
24
|
</dict>
|
@@ -30,8 +41,16 @@
|
|
30
41
|
<integer>127</integer>
|
31
42
|
<key>keyword</key>
|
32
43
|
<string>ror</string>
|
44
|
+
<key>queuedelaycustom</key>
|
45
|
+
<integer>1</integer>
|
46
|
+
<key>queuedelayimmediatelyinitially</key>
|
47
|
+
<false/>
|
48
|
+
<key>queuedelaymode</key>
|
49
|
+
<integer>0</integer>
|
50
|
+
<key>queuemode</key>
|
51
|
+
<integer>1</integer>
|
33
52
|
<key>runningsubtext</key>
|
34
|
-
<string>
|
53
|
+
<string>Processing...</string>
|
35
54
|
<key>script</key>
|
36
55
|
<string>#!/usr/bin/ruby -w
|
37
56
|
|
@@ -44,12 +63,12 @@ case "{query}"
|
|
44
63
|
`open #{root_url}/rails/routes`
|
45
64
|
when 'm'
|
46
65
|
`open #{root_url}/rails/mailers`
|
47
|
-
when '
|
48
|
-
`open #{root_url}
|
49
|
-
when '
|
50
|
-
|
51
|
-
|
52
|
-
`open
|
66
|
+
when 'q'
|
67
|
+
`open #{root_url}/sidekiq`
|
68
|
+
when 'j'
|
69
|
+
`open http://localhost:8888`
|
70
|
+
when 'e'
|
71
|
+
`open http://localhost:9200/_plugin/kopf`
|
53
72
|
end
|
54
73
|
</string>
|
55
74
|
<key>subtext</key>
|
@@ -68,6 +87,134 @@ end
|
|
68
87
|
<key>version</key>
|
69
88
|
<integer>0</integer>
|
70
89
|
</dict>
|
90
|
+
<dict>
|
91
|
+
<key>config</key>
|
92
|
+
<dict>
|
93
|
+
<key>argumenttype</key>
|
94
|
+
<integer>1</integer>
|
95
|
+
<key>escaping</key>
|
96
|
+
<integer>127</integer>
|
97
|
+
<key>keyword</key>
|
98
|
+
<string>rorp</string>
|
99
|
+
<key>queuedelaycustom</key>
|
100
|
+
<integer>1</integer>
|
101
|
+
<key>queuedelayimmediatelyinitially</key>
|
102
|
+
<false/>
|
103
|
+
<key>queuedelaymode</key>
|
104
|
+
<integer>0</integer>
|
105
|
+
<key>queuemode</key>
|
106
|
+
<integer>1</integer>
|
107
|
+
<key>runningsubtext</key>
|
108
|
+
<string>Getting Rack Mini-Profiler options...</string>
|
109
|
+
<key>script</key>
|
110
|
+
<string>#!/bin/bash
|
111
|
+
|
112
|
+
root_url="http://localhost:3000"
|
113
|
+
|
114
|
+
cat << EOB
|
115
|
+
<?xml version="1.0"?>
|
116
|
+
<items>
|
117
|
+
<item uid="env" arg="$root_url?pp=env" valid="YES" type="default">
|
118
|
+
<title>Display Rack Environment</title>
|
119
|
+
<subtitle>Display the current Rack environment.</subtitle>
|
120
|
+
<icon>rails.png</icon>
|
121
|
+
</item>
|
122
|
+
<item uid="skip" arg="$root_url?pp=skip" valid="YES" type="default">
|
123
|
+
<title>Skip This Request</title>
|
124
|
+
<subtitle>Skip profiling for this request only.</subtitle>
|
125
|
+
<icon>rails.png</icon>
|
126
|
+
</item>
|
127
|
+
<item uid="full-backtrace" arg="$root_url?pp=full-backtrace" valid="YES" type="default">
|
128
|
+
<title>Enable Full Backtraces</title>
|
129
|
+
<subtitle>Enable full backtraces for SQL executed. Sticky. Use Normal Backtraces, to disable.</subtitle>
|
130
|
+
<icon>rails.png</icon>
|
131
|
+
</item>
|
132
|
+
<item uid="normal-backtrace" arg="$root_url?pp=normal-backtrace" valid="YES" type="default">
|
133
|
+
<title>Enable Normal Backtraces</title>
|
134
|
+
<subtitle>Collect stack traces from all the SQL executed and filter normally.</subtitle>
|
135
|
+
<icon>rails.png</icon>
|
136
|
+
</item>
|
137
|
+
<item uid="disable-backtrace" arg="$root_url?pp=no-backtrace" valid="YES" type="default">
|
138
|
+
<title>Disable Backtraces</title>
|
139
|
+
<subtitle>Don\'t collect stack traces from the SQL executed. Sticky. Use Normal Backtraces, to enable.</subtitle>
|
140
|
+
<icon>rails.png</icon>
|
141
|
+
</item>
|
142
|
+
<item uid="enable" arg="$root_url?pp=enable" valid="YES" type="default">
|
143
|
+
<title>Enable Profiling</title>
|
144
|
+
<subtitle>Enable profiling for this session.</subtitle>
|
145
|
+
<icon>rails.png</icon>
|
146
|
+
</item>
|
147
|
+
<item uid="disable" arg="$root_url?pp=disable" valid="YES" type="default">
|
148
|
+
<title>Disable Profiling</title>
|
149
|
+
<subtitle>Disable profiling for this session.</subtitle>
|
150
|
+
<icon>rails.png</icon>
|
151
|
+
</item>
|
152
|
+
<item uid="gc" arg="$root_url?pp=profile-gc-ruby-head" valid="YES" type="default">
|
153
|
+
<title>Profile Garbage Collection</title>
|
154
|
+
<subtitle>Profile garbage collection.</subtitle>
|
155
|
+
<icon>rails.png</icon>
|
156
|
+
</item>
|
157
|
+
<item uid="flamegraph" arg="$root_url?pp=flamegraph" valid="YES" type="default">
|
158
|
+
<title>Display Flamegraph</title>
|
159
|
+
<subtitle>Displays graph representing sampled activity.</subtitle>
|
160
|
+
<icon>rails.png</icon>
|
161
|
+
</item>
|
162
|
+
<item uid="flamegraph-embedded" arg="$root_url?pp=flamegraph_embed" valid="YES" type="default">
|
163
|
+
<title>Display Embedded Flamegraph</title>
|
164
|
+
<subtitle>Displays a graph representing sampled activity, embedded resources for use on an intranet.</subtitle>
|
165
|
+
<icon>rails.png</icon>
|
166
|
+
</item>
|
167
|
+
<item uid="trace-exceptions" arg="$root_url?pp=trace-exceptions" valid="YES" type="default">
|
168
|
+
<title>Trace Exceptions</title>
|
169
|
+
<subtitle>Answers all the spots where application raises execptions.</subtitle>
|
170
|
+
<icon>rails.png</icon>
|
171
|
+
</item>
|
172
|
+
<item uid="analyze-memory" arg="$root_url?pp=analyze-memory" valid="YES" type="default">
|
173
|
+
<title>Analyze Memory</title>
|
174
|
+
<subtitle>Perform basic memory analysis of heap.</subtitle>
|
175
|
+
<icon>rails.png</icon>
|
176
|
+
</item>
|
177
|
+
<item uid="help" arg="$root_url?pp=help" valid="YES" type="default">
|
178
|
+
<title>Display Help</title>
|
179
|
+
<subtitle>Display all possible options.</subtitle>
|
180
|
+
<icon>rails.png</icon>
|
181
|
+
</item>
|
182
|
+
</items>
|
183
|
+
EOB
|
184
|
+
</string>
|
185
|
+
<key>subtext</key>
|
186
|
+
<string>Display Rack Mini-Profiler options.</string>
|
187
|
+
<key>title</key>
|
188
|
+
<string>Rack Mini-Profiler</string>
|
189
|
+
<key>type</key>
|
190
|
+
<integer>0</integer>
|
191
|
+
<key>withspace</key>
|
192
|
+
<true/>
|
193
|
+
</dict>
|
194
|
+
<key>type</key>
|
195
|
+
<string>alfred.workflow.input.scriptfilter</string>
|
196
|
+
<key>uid</key>
|
197
|
+
<string>8B48DD29-7E4B-4424-8B8E-18F47785F817</string>
|
198
|
+
<key>version</key>
|
199
|
+
<integer>0</integer>
|
200
|
+
</dict>
|
201
|
+
<dict>
|
202
|
+
<key>config</key>
|
203
|
+
<dict>
|
204
|
+
<key>plusspaces</key>
|
205
|
+
<false/>
|
206
|
+
<key>url</key>
|
207
|
+
<string>{query}</string>
|
208
|
+
<key>utf8</key>
|
209
|
+
<true/>
|
210
|
+
</dict>
|
211
|
+
<key>type</key>
|
212
|
+
<string>alfred.workflow.action.openurl</string>
|
213
|
+
<key>uid</key>
|
214
|
+
<string>A3A3916E-1338-4403-BA88-39E4D9E1B703</string>
|
215
|
+
<key>version</key>
|
216
|
+
<integer>0</integer>
|
217
|
+
</dict>
|
71
218
|
</array>
|
72
219
|
<key>readme</key>
|
73
220
|
<string>Copyright © 2014 Alchemists.
|
@@ -79,6 +226,16 @@ The above copyright notice and this permission notice shall be included in all c
|
|
79
226
|
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</string>
|
80
227
|
<key>uidata</key>
|
81
228
|
<dict>
|
229
|
+
<key>8B48DD29-7E4B-4424-8B8E-18F47785F817</key>
|
230
|
+
<dict>
|
231
|
+
<key>ypos</key>
|
232
|
+
<real>120</real>
|
233
|
+
</dict>
|
234
|
+
<key>A3A3916E-1338-4403-BA88-39E4D9E1B703</key>
|
235
|
+
<dict>
|
236
|
+
<key>ypos</key>
|
237
|
+
<real>120</real>
|
238
|
+
</dict>
|
82
239
|
<key>D00FF9D7-4976-488B-AC15-4F268B0FE089</key>
|
83
240
|
<dict>
|
84
241
|
<key>ypos</key>
|