alfred-workflow 1.2.4 → 1.2.6
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
|