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 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
-