alfred-workflow 1.2.4 → 1.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -15
- data/Gemfile +1 -0
- data/Gemfile.lock +10 -0
- data/History.txt +5 -0
- data/README.md +3 -1
- data/Rakefile +5 -1
- data/lib/alfred.rb +18 -5
- data/lib/alfred/feedback/item.rb +0 -2
- data/lib/alfred/version.rb +1 -1
- data/spec/feedback_spec.rb +27 -1
- data/spec/item_spec.rb +1 -1
- metadata +56 -68
checksums.yaml
CHANGED
@@ -1,15 +1,7 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
metadata.gz: !binary |-
|
9
|
-
ZjA2Y2YzYmQzMzA5YWQzMDM1NGViZGI5ZWNjMzI1NjU4Yzc5ZWZmN2I1ZDQx
|
10
|
-
N2ExZjA1N2IzYjU4ZmFkMTk0MTI5NGJiYWMzYzkzNDBjZDgwOTQ3NDEyZTlm
|
11
|
-
YWQ2Y2I5N2EzYzhlNTFjMTk1MWY3NzgzNGJiNzJlNWJhNWFlMmI=
|
12
|
-
data.tar.gz: !binary |-
|
13
|
-
OGI1NGI0NzcyNzAwZmM3YTBiMjlmZTQ5YjZiNDEwMDI5NTUxMGJjMjQ0Mjcz
|
14
|
-
Mjk0ODEyZDUxNjQzMjRkNzc1YzdjMjg5YzNjYWFmZGFkMDgzMmM0ODE2NTVi
|
15
|
-
NTBiNzc0MDFhYjk0N2U0MDczYzQ4YzAyZTZmNjRlNjljMzQ0OTM=
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
data.tar.gz: a4d4690e0cf9842ae71dbe8cd4422d1380ccdf82
|
4
|
+
metadata.gz: 0ee5f0ffe87125ee715424157f68847e85471c38
|
5
|
+
SHA512:
|
6
|
+
data.tar.gz: b8abbdde6a2a657132ab5c066a709e5834904887a2da135b492583adc87eccf31521ef584c2ba9844ae7303a53008f8386e0dff5a9fc407399867d098781bccf
|
7
|
+
metadata.gz: b6bb1e5118547a0c18c2d7e5d029777ce9057f7beed9865d1bdede3ca9d1224513304106e4ba9307355a809b5835374932d47b7c8e1e703f604c589614c9f503
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
GEM
|
2
2
|
remote: https://rubygems.org/
|
3
3
|
specs:
|
4
|
+
diff-lcs (1.2.1)
|
4
5
|
hoe (3.5.2)
|
5
6
|
rake (>= 0.8, < 11.0)
|
6
7
|
json (1.7.7)
|
@@ -13,6 +14,14 @@ GEM
|
|
13
14
|
rake (10.0.3)
|
14
15
|
rdoc (3.12.2)
|
15
16
|
json (~> 1.4)
|
17
|
+
rspec (2.13.0)
|
18
|
+
rspec-core (~> 2.13.0)
|
19
|
+
rspec-expectations (~> 2.13.0)
|
20
|
+
rspec-mocks (~> 2.13.0)
|
21
|
+
rspec-core (2.13.1)
|
22
|
+
rspec-expectations (2.13.0)
|
23
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
24
|
+
rspec-mocks (2.13.0)
|
16
25
|
|
17
26
|
PLATFORMS
|
18
27
|
ruby
|
@@ -22,3 +31,4 @@ DEPENDENCIES
|
|
22
31
|
logging (~> 1.8.0)
|
23
32
|
plist (~> 3.1.0)
|
24
33
|
rdoc (~> 3.10)
|
34
|
+
rspec (~> 2.13)
|
data/History.txt
CHANGED
data/README.md
CHANGED
@@ -14,7 +14,8 @@ alfred-workflow is a ruby Gem helper for building [Alfred](http://www.alfredapp.
|
|
14
14
|
## FEATURES:
|
15
15
|
|
16
16
|
* Use standard [bundler][gembundler] to easily package, manage, and update ruby gems in the workflow.
|
17
|
-
* Friendly exception and debug output to the Mac OS X Console
|
17
|
+
* Friendly exception and debug output to the Mac OS X Console.
|
18
|
+
* Automate rescue feedback items to alfred when something goes wrong.
|
18
19
|
* Functions for smart case query filter of feedback results.
|
19
20
|
* Functions for finding the bundle ID, cache and storage paths, and query arguments.
|
20
21
|
* Functions for reading and writing plist files.
|
@@ -47,6 +48,7 @@ Code are wrapped in `Alfred.with_friendly_error` block. Exceptions and debug mes
|
|
47
48
|
|
48
49
|
* Refer to [alfred2-ruby-template]( https://github.com/zhaocai/alfred2-ruby-template ) for example and detailed instruction.
|
49
50
|
|
51
|
+
|
50
52
|
## Example Projects
|
51
53
|
|
52
54
|
* [alfred2_top_workflow]( https://github.com/zhaocai/alfred2-top-workflow )
|
data/Rakefile
CHANGED
data/lib/alfred.rb
CHANGED
@@ -27,28 +27,38 @@ module Alfred
|
|
27
27
|
rescue AlfredError => e
|
28
28
|
alfred.ui.error e.message
|
29
29
|
alfred.ui.debug e.backtrace.join("\n")
|
30
|
+
puts alfred.rescue_feedback(
|
31
|
+
:title => "#{e.class}: #{e.message}") if alfred.with_rescue_feedback
|
30
32
|
exit e.status_code
|
31
33
|
rescue Interrupt => e
|
32
34
|
alfred.ui.error "\nQuitting..."
|
33
35
|
alfred.ui.debug e.backtrace.join("\n")
|
36
|
+
puts alfred.rescue_feedback(
|
37
|
+
:title => "Interrupt: #{e.message}") if alfred.with_rescue_feedback
|
34
38
|
exit 1
|
35
39
|
rescue SystemExit => e
|
40
|
+
puts alfred.rescue_feedback(
|
41
|
+
:title => "SystemExit: #{e.status}") if alfred.with_rescue_feedback
|
36
42
|
exit e.status
|
37
43
|
rescue Exception => e
|
38
44
|
alfred.ui.error(
|
39
45
|
"A fatal error has occurred. " \
|
40
|
-
"You may seek help in the Alfred supporting site,
|
46
|
+
"You may seek help in the Alfred supporting site, "\
|
47
|
+
"forum or raise an issue in the bug tracking site.\n" \
|
41
48
|
" #{e.inspect}\n#{e.backtrace.join("\n")}\n")
|
42
|
-
|
49
|
+
puts alfred.rescue_feedback(
|
50
|
+
:title => "Fatal Error!") if alfred.with_rescue_feedback
|
51
|
+
exit(-1)
|
43
52
|
end
|
44
53
|
end
|
45
54
|
end
|
46
55
|
|
47
56
|
|
48
57
|
class Core
|
49
|
-
|
58
|
+
attr_accessor :with_rescue_feedback
|
50
59
|
|
51
|
-
def initialize
|
60
|
+
def initialize(with_rescue_feedback = false)
|
61
|
+
@with_rescue_feedback = with_rescue_feedback
|
52
62
|
end
|
53
63
|
|
54
64
|
def ui
|
@@ -67,7 +77,7 @@ module Alfred
|
|
67
77
|
|
68
78
|
# Returns nil if not set.
|
69
79
|
def bundle_id
|
70
|
-
info_plist['bundleid'] unless info_plist['bundleid'].empty?
|
80
|
+
@bundle_id ||= info_plist['bundleid'] unless info_plist['bundleid'].empty?
|
71
81
|
end
|
72
82
|
|
73
83
|
def volatile_storage_path
|
@@ -89,6 +99,9 @@ module Alfred
|
|
89
99
|
path
|
90
100
|
end
|
91
101
|
|
102
|
+
def with_rescue_feedback
|
103
|
+
|
104
|
+
end
|
92
105
|
def rescue_feedback(opts = {})
|
93
106
|
default_opts = {
|
94
107
|
:title => "Failed Query!",
|
data/lib/alfred/feedback/item.rb
CHANGED
data/lib/alfred/version.rb
CHANGED
data/spec/feedback_spec.rb
CHANGED
@@ -4,6 +4,9 @@ describe "Feedback" do
|
|
4
4
|
|
5
5
|
before :all do
|
6
6
|
@feedback = Alfred::Feedback.new
|
7
|
+
|
8
|
+
@item_elements = %w{title subtitle icon}
|
9
|
+
@item_attributes = %w{uid arg autocomplete}
|
7
10
|
end
|
8
11
|
it "should create a basic XML response" do
|
9
12
|
@feedback.add_item(:uid => "uid" ,
|
@@ -12,7 +15,30 @@ describe "Feedback" do
|
|
12
15
|
:title => "Title" ,
|
13
16
|
:subtitle => "Subtitle")
|
14
17
|
|
15
|
-
|
18
|
+
xml_data = <<-END.strip_heredoc
|
19
|
+
<?xml version="1.0"?>
|
20
|
+
<items>
|
21
|
+
<item valid="yes" arg="arg" autocomplete="autocomplete" uid="uid">
|
22
|
+
<title>Title</title>
|
23
|
+
<subtitle>Subtitle</subtitle>
|
24
|
+
<icon>icon.png</icon>
|
25
|
+
</item>
|
26
|
+
</items>
|
27
|
+
END
|
28
|
+
|
29
|
+
expected_xml = REXML::Document.new(xml_data)
|
30
|
+
feedback_xml = REXML::Document.new(@feedback.to_xml)
|
31
|
+
|
32
|
+
expected_item = expected_xml.get_elements('/items/item')[0]
|
33
|
+
feedback_item = feedback_xml.get_elements('/items/item')[0]
|
34
|
+
|
35
|
+
@item_elements.each { |i|
|
36
|
+
expected_item.elements[i].text.should == feedback_item.elements[i].text
|
37
|
+
}
|
38
|
+
@item_attributes.each { |i|
|
39
|
+
expected_item.attributes[i].should == feedback_item.attributes[i]
|
40
|
+
}
|
41
|
+
|
16
42
|
end
|
17
43
|
|
18
44
|
end
|
data/spec/item_spec.rb
CHANGED
@@ -9,7 +9,7 @@ describe "Feedback Item" do
|
|
9
9
|
item = Alfred::Feedback::Item.new("title")
|
10
10
|
item.title.should eql "title"
|
11
11
|
item.subtitle.should eql nil
|
12
|
-
item.autocomplete.should eql
|
12
|
+
item.autocomplete.should eql nil
|
13
13
|
item.arg.should eql item.title
|
14
14
|
item.valid.should eql "yes"
|
15
15
|
item.type.should eql "default"
|
metadata
CHANGED
@@ -1,81 +1,67 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: alfred-workflow
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.2.6
|
5
5
|
platform: ruby
|
6
|
-
authors:
|
6
|
+
authors:
|
7
7
|
- Zhao Cai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
|
12
|
-
|
13
|
-
|
11
|
+
|
12
|
+
date: 2013-03-28 00:00:00 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
14
15
|
name: plist
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ~>
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 3.1.0
|
20
|
-
type: :runtime
|
21
16
|
prerelease: false
|
22
|
-
|
23
|
-
requirements:
|
17
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
24
19
|
- - ~>
|
25
|
-
- !ruby/object:Gem::Version
|
20
|
+
- !ruby/object:Gem::Version
|
26
21
|
version: 3.1.0
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: logging
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - ~>
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: 1.8.0
|
34
22
|
type: :runtime
|
23
|
+
version_requirements: *id001
|
24
|
+
- !ruby/object:Gem::Dependency
|
25
|
+
name: logging
|
35
26
|
prerelease: false
|
36
|
-
|
37
|
-
requirements:
|
27
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
28
|
+
requirements:
|
38
29
|
- - ~>
|
39
|
-
- !ruby/object:Gem::Version
|
30
|
+
- !ruby/object:Gem::Version
|
40
31
|
version: 1.8.0
|
41
|
-
|
32
|
+
type: :runtime
|
33
|
+
version_requirements: *id002
|
34
|
+
- !ruby/object:Gem::Dependency
|
42
35
|
name: rdoc
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
44
|
-
requirements:
|
45
|
-
- - ~>
|
46
|
-
- !ruby/object:Gem::Version
|
47
|
-
version: '3.10'
|
48
|
-
type: :development
|
49
36
|
prerelease: false
|
50
|
-
|
51
|
-
requirements:
|
37
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
38
|
+
requirements:
|
52
39
|
- - ~>
|
53
|
-
- !ruby/object:Gem::Version
|
54
|
-
version:
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: hoe
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
58
|
-
requirements:
|
59
|
-
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '3.5'
|
40
|
+
- !ruby/object:Gem::Version
|
41
|
+
version: "3.10"
|
62
42
|
type: :development
|
43
|
+
version_requirements: *id003
|
44
|
+
- !ruby/object:Gem::Dependency
|
45
|
+
name: hoe
|
63
46
|
prerelease: false
|
64
|
-
|
65
|
-
requirements:
|
47
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
48
|
+
requirements:
|
66
49
|
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version:
|
69
|
-
|
70
|
-
|
71
|
-
|
50
|
+
- !ruby/object:Gem::Version
|
51
|
+
version: "3.5"
|
52
|
+
type: :development
|
53
|
+
version_requirements: *id004
|
54
|
+
description: alfred-workflow is a ruby Gem helper for building [Alfred](http://www.alfredapp.com) workflow.
|
55
|
+
email:
|
72
56
|
- caizhaoff@gmail.com
|
73
57
|
executables: []
|
58
|
+
|
74
59
|
extensions: []
|
75
|
-
|
60
|
+
|
61
|
+
extra_rdoc_files:
|
76
62
|
- History.txt
|
77
63
|
- Manifest.txt
|
78
|
-
files:
|
64
|
+
files:
|
79
65
|
- .autotest
|
80
66
|
- .gemtest
|
81
67
|
- .rspec
|
@@ -97,29 +83,31 @@ files:
|
|
97
83
|
- spec/item_spec.rb
|
98
84
|
- spec/spec_helper.rb
|
99
85
|
homepage: https://github.com/zhaocai/alfred-workflow
|
100
|
-
licenses:
|
86
|
+
licenses:
|
87
|
+
- GPL-3
|
101
88
|
metadata: {}
|
89
|
+
|
102
90
|
post_install_message:
|
103
|
-
rdoc_options:
|
91
|
+
rdoc_options:
|
104
92
|
- --main
|
105
93
|
- README.md
|
106
|
-
require_paths:
|
94
|
+
require_paths:
|
107
95
|
- lib
|
108
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
109
|
-
requirements:
|
110
|
-
-
|
111
|
-
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
version: '0'
|
96
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
97
|
+
requirements:
|
98
|
+
- &id005
|
99
|
+
- ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: "0"
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
103
|
+
requirements:
|
104
|
+
- *id005
|
118
105
|
requirements: []
|
106
|
+
|
119
107
|
rubyforge_project: alfred-workflow
|
120
108
|
rubygems_version: 2.0.3
|
121
109
|
signing_key:
|
122
110
|
specification_version: 4
|
123
|
-
summary: alfred-workflow is a ruby Gem helper for building [Alfred](http://www.alfredapp.com)
|
124
|
-
workflow.
|
111
|
+
summary: alfred-workflow is a ruby Gem helper for building [Alfred](http://www.alfredapp.com) workflow.
|
125
112
|
test_files: []
|
113
|
+
|