alfred-workflow 1.2.3 → 1.2.4
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 +15 -7
- data/.ruby-version +1 -0
- data/History.txt +8 -0
- data/Manifest.txt +2 -0
- data/Rakefile +1 -1
- data/lib/alfred.rb +3 -3
- data/lib/alfred/feedback/file_item.rb +1 -19
- data/lib/alfred/feedback/item.rb +38 -3
- data/lib/alfred/version.rb +1 -1
- data/spec/feedback_spec.rb +18 -0
- metadata +69 -55
checksums.yaml
CHANGED
@@ -1,7 +1,15 @@
|
|
1
|
-
---
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
---
|
2
|
+
!binary "U0hBMQ==":
|
3
|
+
metadata.gz: !binary |-
|
4
|
+
NjBhMTczN2Y3ZjI0YmFlMmM3YmM3MzdlYTY1N2IyMjk1NWRjYWM1YQ==
|
5
|
+
data.tar.gz: !binary |-
|
6
|
+
MjM4M2RiMWZjNmVjY2NjODA3YWEyYjM3M2Y5MGI4M2VjNTdiMzE0Mg==
|
7
|
+
!binary "U0hBNTEy":
|
8
|
+
metadata.gz: !binary |-
|
9
|
+
ZjA2Y2YzYmQzMzA5YWQzMDM1NGViZGI5ZWNjMzI1NjU4Yzc5ZWZmN2I1ZDQx
|
10
|
+
N2ExZjA1N2IzYjU4ZmFkMTk0MTI5NGJiYWMzYzkzNDBjZDgwOTQ3NDEyZTlm
|
11
|
+
YWQ2Y2I5N2EzYzhlNTFjMTk1MWY3NzgzNGJiNzJlNWJhNWFlMmI=
|
12
|
+
data.tar.gz: !binary |-
|
13
|
+
OGI1NGI0NzcyNzAwZmM3YTBiMjlmZTQ5YjZiNDEwMDI5NTUxMGJjMjQ0Mjcz
|
14
|
+
Mjk0ODEyZDUxNjQzMjRkNzc1YzdjMjg5YzNjYWFmZGFkMDgzMmM0ODE2NTVi
|
15
|
+
NTBiNzc0MDFhYjk0N2U0MDczYzQ4YzAyZTZmNjRlNjljMzQ0OTM=
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
system
|
data/History.txt
CHANGED
data/Manifest.txt
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
.autotest
|
2
2
|
.gemtest
|
3
3
|
.rspec
|
4
|
+
.ruby-version
|
4
5
|
Gemfile
|
5
6
|
Gemfile.lock
|
6
7
|
History.txt
|
@@ -14,5 +15,6 @@ lib/alfred/feedback/file_item.rb
|
|
14
15
|
lib/alfred/feedback/item.rb
|
15
16
|
lib/alfred/ui.rb
|
16
17
|
lib/alfred/version.rb
|
18
|
+
spec/feedback_spec.rb
|
17
19
|
spec/item_spec.rb
|
18
20
|
spec/spec_helper.rb
|
data/Rakefile
CHANGED
data/lib/alfred.rb
CHANGED
@@ -16,7 +16,6 @@ module Alfred
|
|
16
16
|
|
17
17
|
class ObjCError < AlfredError; status_code(1) ; end
|
18
18
|
class NoBundleIDError < AlfredError; status_code(2) ; end
|
19
|
-
class ArgumentError < AlfredError; status_code(3) ; end
|
20
19
|
class NoMethodError < AlfredError; status_code(13) ; end
|
21
20
|
class PathError < AlfredError; status_code(14) ; end
|
22
21
|
|
@@ -37,8 +36,9 @@ module Alfred
|
|
37
36
|
exit e.status
|
38
37
|
rescue Exception => e
|
39
38
|
alfred.ui.error(
|
40
|
-
"
|
41
|
-
"
|
39
|
+
"A fatal error has occurred. " \
|
40
|
+
"You may seek help in the Alfred supporting site, forum or raise an issue in the bug tracking site.\n" \
|
41
|
+
" #{e.inspect}\n#{e.backtrace.join("\n")}\n")
|
42
42
|
raise e
|
43
43
|
end
|
44
44
|
end
|
@@ -21,25 +21,7 @@ module Alfred
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def match?(query)
|
24
|
-
|
25
|
-
if query.is_a? String
|
26
|
-
query = query.split("\s")
|
27
|
-
end
|
28
|
-
|
29
|
-
queries = []
|
30
|
-
query.each { |q|
|
31
|
-
queries << smartcase_query(q)
|
32
|
-
}
|
33
|
-
|
34
|
-
queries.delete_if { |q|
|
35
|
-
q.match(@title) or q.match(@subtitle)
|
36
|
-
}
|
37
|
-
|
38
|
-
if queries.empty?
|
39
|
-
return true
|
40
|
-
else
|
41
|
-
return false
|
42
|
-
end
|
24
|
+
all_title_match?(query)
|
43
25
|
end
|
44
26
|
|
45
27
|
end
|
data/lib/alfred/feedback/item.rb
CHANGED
@@ -59,6 +59,10 @@ module Alfred
|
|
59
59
|
# end
|
60
60
|
# end
|
61
61
|
def match?(query)
|
62
|
+
title_match?(query)
|
63
|
+
end
|
64
|
+
|
65
|
+
def title_match?(query)
|
62
66
|
return true if query.empty?
|
63
67
|
if smartcase_query(query).match(@title)
|
64
68
|
return true
|
@@ -67,6 +71,29 @@ module Alfred
|
|
67
71
|
end
|
68
72
|
end
|
69
73
|
|
74
|
+
def all_title_match?(query)
|
75
|
+
return true if query.empty?
|
76
|
+
if query.is_a? String
|
77
|
+
query = query.split("\s")
|
78
|
+
end
|
79
|
+
|
80
|
+
queries = []
|
81
|
+
query.each { |q|
|
82
|
+
queries << smartcase_query(q)
|
83
|
+
}
|
84
|
+
|
85
|
+
queries.delete_if { |q|
|
86
|
+
q.match(@title) or q.match(@subtitle)
|
87
|
+
}
|
88
|
+
|
89
|
+
if queries.empty?
|
90
|
+
return true
|
91
|
+
else
|
92
|
+
return false
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
|
70
97
|
def to_xml
|
71
98
|
xml_element = REXML::Element.new('item')
|
72
99
|
xml_element.add_attributes({
|
@@ -89,6 +116,14 @@ module Alfred
|
|
89
116
|
|
90
117
|
protected
|
91
118
|
|
119
|
+
def build_regexp(query, option)
|
120
|
+
begin
|
121
|
+
Regexp.compile(".*#{query.gsub(/\s+/,'.*')}.*", option)
|
122
|
+
rescue RegexpError => e
|
123
|
+
Regexp.compile(".*#{Regexp.escape(query)}.*", option)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
92
127
|
def smartcase_query(query)
|
93
128
|
if query.is_a? Array
|
94
129
|
query = query.join(" ")
|
@@ -97,7 +132,7 @@ module Alfred
|
|
97
132
|
if /[[:upper:]]/.match(query)
|
98
133
|
option = nil
|
99
134
|
end
|
100
|
-
|
135
|
+
build_regexp(query, option)
|
101
136
|
end
|
102
137
|
|
103
138
|
def ignorecase_query(query)
|
@@ -105,14 +140,14 @@ module Alfred
|
|
105
140
|
query = query.join(" ")
|
106
141
|
end
|
107
142
|
option = Regexp::IGNORECASE
|
108
|
-
|
143
|
+
build_regexp(query, option)
|
109
144
|
end
|
110
145
|
|
111
146
|
def default_query(query)
|
112
147
|
if query.is_a? Array
|
113
148
|
query = query.join(" ")
|
114
149
|
end
|
115
|
-
|
150
|
+
build_regexp(query, nil)
|
116
151
|
end
|
117
152
|
|
118
153
|
end
|
data/lib/alfred/version.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
describe "Feedback" do
|
4
|
+
|
5
|
+
before :all do
|
6
|
+
@feedback = Alfred::Feedback.new
|
7
|
+
end
|
8
|
+
it "should create a basic XML response" do
|
9
|
+
@feedback.add_item(:uid => "uid" ,
|
10
|
+
:arg => "arg" ,
|
11
|
+
:autocomplete => "autocomplete" ,
|
12
|
+
:title => "Title" ,
|
13
|
+
:subtitle => "Subtitle")
|
14
|
+
|
15
|
+
@feedback.to_xml.should == "<items><item arg='arg' autocomplete='autocomplete' uid='uid' valid='yes'><title>Title</title><subtitle>Subtitle</subtitle><icon>icon.png</icon></item></items>"
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
metadata
CHANGED
@@ -1,70 +1,85 @@
|
|
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.4
|
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
|
-
|
14
|
-
- !ruby/object:Gem::Dependency
|
11
|
+
date: 2013-03-26 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
15
14
|
name: plist
|
16
|
-
|
17
|
-
|
18
|
-
requirements:
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
19
17
|
- - ~>
|
20
|
-
- !ruby/object:Gem::Version
|
18
|
+
- !ruby/object:Gem::Version
|
21
19
|
version: 3.1.0
|
22
20
|
type: :runtime
|
23
|
-
version_requirements: *id001
|
24
|
-
- !ruby/object:Gem::Dependency
|
25
|
-
name: logging
|
26
21
|
prerelease: false
|
27
|
-
|
28
|
-
requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
29
24
|
- - ~>
|
30
|
-
- !ruby/object:Gem::Version
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
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
|
31
33
|
version: 1.8.0
|
32
34
|
type: :runtime
|
33
|
-
version_requirements: *id002
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: rdoc
|
36
35
|
prerelease: false
|
37
|
-
|
38
|
-
requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.8.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rdoc
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
39
45
|
- - ~>
|
40
|
-
- !ruby/object:Gem::Version
|
41
|
-
version:
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.10'
|
42
48
|
type: :development
|
43
|
-
version_requirements: *id003
|
44
|
-
- !ruby/object:Gem::Dependency
|
45
|
-
name: hoe
|
46
49
|
prerelease: false
|
47
|
-
|
48
|
-
requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
49
52
|
- - ~>
|
50
|
-
- !ruby/object:Gem::Version
|
51
|
-
version:
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '3.10'
|
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'
|
52
62
|
type: :development
|
53
|
-
|
54
|
-
|
55
|
-
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ~>
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '3.5'
|
69
|
+
description: alfred-workflow is a ruby Gem helper for building [Alfred](http://www.alfredapp.com)
|
70
|
+
workflow.
|
71
|
+
email:
|
56
72
|
- caizhaoff@gmail.com
|
57
73
|
executables: []
|
58
|
-
|
59
74
|
extensions: []
|
60
|
-
|
61
|
-
extra_rdoc_files:
|
75
|
+
extra_rdoc_files:
|
62
76
|
- History.txt
|
63
77
|
- Manifest.txt
|
64
|
-
files:
|
78
|
+
files:
|
65
79
|
- .autotest
|
66
80
|
- .gemtest
|
67
81
|
- .rspec
|
82
|
+
- .ruby-version
|
68
83
|
- Gemfile
|
69
84
|
- Gemfile.lock
|
70
85
|
- History.txt
|
@@ -78,34 +93,33 @@ files:
|
|
78
93
|
- lib/alfred/feedback/item.rb
|
79
94
|
- lib/alfred/ui.rb
|
80
95
|
- lib/alfred/version.rb
|
96
|
+
- spec/feedback_spec.rb
|
81
97
|
- spec/item_spec.rb
|
82
98
|
- spec/spec_helper.rb
|
83
99
|
homepage: https://github.com/zhaocai/alfred-workflow
|
84
100
|
licenses: []
|
85
|
-
|
86
101
|
metadata: {}
|
87
|
-
|
88
102
|
post_install_message:
|
89
|
-
rdoc_options:
|
103
|
+
rdoc_options:
|
90
104
|
- --main
|
91
105
|
- README.md
|
92
|
-
require_paths:
|
106
|
+
require_paths:
|
93
107
|
- lib
|
94
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
95
|
-
requirements:
|
96
|
-
-
|
97
|
-
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
108
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
109
|
+
requirements:
|
110
|
+
- - ! '>='
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '0'
|
113
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
103
118
|
requirements: []
|
104
|
-
|
105
119
|
rubyforge_project: alfred-workflow
|
106
120
|
rubygems_version: 2.0.3
|
107
121
|
signing_key:
|
108
122
|
specification_version: 4
|
109
|
-
summary: alfred-workflow is a ruby Gem helper for building [Alfred](http://www.alfredapp.com)
|
123
|
+
summary: alfred-workflow is a ruby Gem helper for building [Alfred](http://www.alfredapp.com)
|
124
|
+
workflow.
|
110
125
|
test_files: []
|
111
|
-
|