alfred-workflow 1.2.3 → 1.2.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,15 @@
1
- ---
2
- SHA1:
3
- data.tar.gz: 44da5de16055d5653fe7f387119c9fbb4493f7ed
4
- metadata.gz: 2849f51a6e1823e47bea54c7afe211415af86140
5
- SHA512:
6
- data.tar.gz: 8fc645db678c87245591ee1d539e63501158828ca69ffaa1056d693248c9b30893845bdc5b1f0f44f5b965980345f59ade8acd3fd60033b632e76baff203d8d0
7
- metadata.gz: 6190c3241b08397f6774dc8c49f20cef7cedc8ffe72b74962ef2772c128fecb0f87913ea3b90c1bd5bfe68fc83ac5ef7fe340bbed3e577a516b11723fb876815
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=
@@ -0,0 +1 @@
1
+ system
@@ -1,3 +1,11 @@
1
+ === 1.2.3 / 2013-03-25
2
+
3
+ * add function to output rescue feedback xml items
4
+ * add a few query regexp builders
5
+ ! refactor feedback items
6
+ ! add autotest support
7
+ ! add rspec test
8
+
1
9
  === 1.1.0 / 2013-03-24
2
10
  * 3 major enhancements:
3
11
 
@@ -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
@@ -7,7 +7,7 @@ Hoe.plugin :bundler
7
7
  Hoe.plugin :test
8
8
 
9
9
  Hoe.plugin :git
10
- Hoe.plugin :rubygems
10
+ Hoe.plugin :gemspec
11
11
  Hoe.plugin :version
12
12
 
13
13
  Hoe.spec 'alfred-workflow' do
@@ -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
- "Unfortunately, a fatal error has occurred. Please seek help in the Alfred Forum or raise an issue in \n" \
41
- "github. Thanks!\n #{e.inspect} #{e.backtrace.join("\n")}\n")
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
- return true if query.empty?
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
@@ -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
- Regexp.compile(".*#{query.gsub(/\s+/,'.*')}.*", option)
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
- Regexp.compile(".*#{query.gsub(/\s+/,'.*')}.*", option)
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
- Regexp.compile(".*#{query.gsub(/\s+/,'.*')}.*")
150
+ build_regexp(query, nil)
116
151
  end
117
152
 
118
153
  end
@@ -1,3 +1,3 @@
1
1
  module Alfred
2
- VERSION = '1.2.3'
2
+ VERSION = '1.2.4'
3
3
  end
@@ -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
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
- date: 2013-03-25 00:00:00 Z
13
- dependencies:
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
- prerelease: false
17
- requirement: &id001 !ruby/object:Gem::Requirement
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
- requirement: &id002 !ruby/object:Gem::Requirement
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
- requirement: &id003 !ruby/object:Gem::Requirement
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: "3.10"
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
- requirement: &id004 !ruby/object:Gem::Requirement
48
- requirements:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
49
52
  - - ~>
50
- - !ruby/object:Gem::Version
51
- version: "3.5"
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
- version_requirements: *id004
54
- description: alfred-workflow is a ruby Gem helper for building [Alfred](http://www.alfredapp.com) workflow.
55
- email:
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
- - &id005
97
- - ">="
98
- - !ruby/object:Gem::Version
99
- version: "0"
100
- required_rubygems_version: !ruby/object:Gem::Requirement
101
- requirements:
102
- - *id005
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) workflow.
123
+ summary: alfred-workflow is a ruby Gem helper for building [Alfred](http://www.alfredapp.com)
124
+ workflow.
110
125
  test_files: []
111
-