alfred-workflow 1.5.0 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA512:
3
- data.tar.gz: 23623140489e12203cca05b87d40364423b37f3e01ade13d1df9909566feaf9a5304e1e3d5803228787791114ba1402f0e8b5654e5e4cb4f9ea14f59059fe844
4
- metadata.gz: 32d00acc1222bc5d87b257a8304e3055a3e2b87bfa1ed6bb150cc8c6ad5e48c51ae92bae30625cf7c59c90e3b87656b3fcb78d9580e568217ed2b3eabcbbfcc4
5
2
  SHA1:
6
- data.tar.gz: eefe1cd9415f97fa9130ec19d2fa22776a432ca4
7
- metadata.gz: 51f3ad55e83b3a4e16f90ec9f956b0391bf8267c
3
+ metadata.gz: 79e36d00d13052a06d8c027c14f3cebfb7945d70
4
+ data.tar.gz: ac953e08ccddc38d43a547a9d9ae8477348df767
5
+ SHA512:
6
+ metadata.gz: ec207bfaaa6ec6c98f5ab53725087522aa6546458b3a058f7b665a56d5385e42d04e5d0839df720e5d55c102f678fc893111652f7cb29bd638cbdb63f9fc5402
7
+ data.tar.gz: f179f376c0a7b6e272c498bba66638a502405113345989cdcba83c4fab600840d1369e8fc662a10afa5159357adcf5ea323805d4878cec4e3776767aa9c48b1c
data/.travis.yml ADDED
@@ -0,0 +1,10 @@
1
+ language: ruby
2
+ rvm:
3
+ - "1.8.7"
4
+ - "1.9.2"
5
+ - "1.9.3"
6
+ - jruby-18mode # JRuby in 1.8 mode
7
+ - jruby-19mode # JRuby in 1.9 mode
8
+ - rbx-18mode
9
+ - rbx-19mode
10
+ # script: bundle exec rspec spec
data/Manifest.txt CHANGED
@@ -2,6 +2,7 @@
2
2
  .gemtest
3
3
  .rspec
4
4
  .ruby-version
5
+ .travis.yml
5
6
  Gemfile
6
7
  Gemfile.lock
7
8
  History.txt
@@ -13,8 +14,11 @@ lib/alfred.rb
13
14
  lib/alfred/feedback.rb
14
15
  lib/alfred/feedback/file_item.rb
15
16
  lib/alfred/feedback/item.rb
17
+ lib/alfred/setting.rb
16
18
  lib/alfred/ui.rb
17
19
  lib/alfred/version.rb
20
+ spec/alfred_spec.rb
18
21
  spec/feedback_spec.rb
19
22
  spec/item_spec.rb
20
23
  spec/spec_helper.rb
24
+ test/workflow/info.plist
data/Rakefile CHANGED
@@ -25,7 +25,6 @@ Hoe.spec 'alfred-workflow' do
25
25
  extra_dev_deps << ['rspec', '>= 2.13']
26
26
  end
27
27
 
28
-
29
28
  %w{major minor patch}.each { |v|
30
29
  desc "Bump #{v.capitalize} Version and Commit"
31
30
  task "bump:#{v}", [:message] => ["version:bump:#{v}"] do |t, args|
@@ -0,0 +1,41 @@
1
+ require 'yaml'
2
+
3
+ module Alfred
4
+
5
+ class Setting
6
+ attr_accessor :settings
7
+
8
+ def initialize(alfred, setting_file = nil)
9
+ @core = alfred
10
+ @setting_file = setting_file if setting_file
11
+
12
+
13
+ end
14
+
15
+ # settings
16
+ def setting_file
17
+ @setting_file ||= File.join(@core.storage_path, 'setting.yml')
18
+ end
19
+
20
+ def load
21
+ unless File.exist?(setting_file)
22
+ @settings = {:id => @core.bundle_id}
23
+ dump
24
+ end
25
+
26
+ @settings = YAML::load( File.read(setting_file) )
27
+ end
28
+
29
+ def dump(settings = nil, opts = {})
30
+ settings = @settings unless settings
31
+
32
+ File.open(setting_file, "wb") { |f|
33
+ YAML::dump(settings, f)
34
+ f.flush if opts[:flush]
35
+ }
36
+ end
37
+
38
+ end
39
+ end
40
+
41
+
@@ -1,3 +1,3 @@
1
1
  module Alfred
2
- VERSION = '1.5.0'
2
+ VERSION = '1.5.1'
3
3
  end
@@ -0,0 +1,120 @@
1
+ require "spec_helper"
2
+
3
+ describe "Alfred" do
4
+
5
+ before :all do
6
+ @alfred = Alfred::Core.new
7
+ Dir.chdir("test/workflow/")
8
+ end
9
+
10
+ it "should return a valid bundle id" do
11
+ @alfred.bundle_id.should == "me.zhaowu.alfred-workflow-gem"
12
+ end
13
+
14
+ context "Setting" do
15
+ before :all do
16
+ @setting = @alfred.setting
17
+ end
18
+ it "should correctly load settings" do
19
+ settings = @setting.load
20
+ settings[:id].should == "me.zhaowu.alfred-workflow-gem"
21
+ end
22
+
23
+ it "should correctly save settings" do
24
+ settings = @setting.load
25
+ settings[:language] = "Chinese"
26
+ @setting.dump(settings, :flush => true)
27
+
28
+ settings = @alfred.setting.load
29
+ settings[:language].should == "Chinese"
30
+ end
31
+
32
+ after :all do
33
+ File.unlink(@setting.setting_file)
34
+ end
35
+
36
+ end
37
+
38
+
39
+ context "Cached Feedback" do
40
+ it "should have correct default cache file" do
41
+ @alfred.with_cached_feedback do
42
+ use_cache_file :expire => 10
43
+ end
44
+ fb = @alfred.feedback
45
+ fb.cache_file.should == File.join(@alfred.volatile_storage_path, "cached_feedback")
46
+ end
47
+
48
+ it "should set correct cache file" do
49
+ @alfred.with_cached_feedback do
50
+ use_cache_file :file => "cached_feedback"
51
+ end
52
+ fb = @alfred.feedback
53
+ fb.cache_file.should == "cached_feedback"
54
+ end
55
+
56
+ context "With Valid Cached File" do
57
+ before :all do
58
+ @alfred.with_cached_feedback do
59
+ use_cache_file
60
+ end
61
+
62
+ fb = @alfred.feedback
63
+
64
+ fb.add_item(:uid => "uid" ,
65
+ :arg => "arg" ,
66
+ :autocomplete => "autocomplete" ,
67
+ :title => "Title" ,
68
+ :subtitle => "Subtitle")
69
+
70
+ @xml_data = <<-END.strip_heredoc
71
+ <?xml version="1.0"?>
72
+ <items>
73
+ <item valid="yes" arg="arg" autocomplete="autocomplete" uid="uid">
74
+ <title>Title</title>
75
+ <subtitle>Subtitle</subtitle>
76
+ <icon>icon.png</icon>
77
+ </item>
78
+ </items>
79
+ END
80
+ fb.put_cached_feedback
81
+ end
82
+
83
+
84
+ it "should correctly load cached feedback" do
85
+ alfred = Alfred::Core.new
86
+ alfred.with_cached_feedback do
87
+ use_cache_file
88
+ end
89
+
90
+ fb = alfred.feedback
91
+
92
+ compare_xml(@xml_data, fb.get_cached_feedback.to_xml).should == true
93
+ end
94
+
95
+ it "should expire as defined" do
96
+ alfred = Alfred::Core.new
97
+ alfred.with_cached_feedback do
98
+ use_cache_file :expire => 1
99
+ end
100
+ sleep 1
101
+ fb = alfred.feedback
102
+ fb.get_cached_feedback.should == nil
103
+
104
+ end
105
+
106
+ end
107
+
108
+
109
+ after :all do
110
+ @alfred.with_cached_feedback
111
+ fb = @alfred.feedback
112
+ File.unlink(fb.cache_file)
113
+ end
114
+
115
+ end
116
+
117
+ end
118
+
119
+
120
+
@@ -0,0 +1,143 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
+ <plist version="1.0">
4
+ <dict>
5
+ <key>bundleid</key>
6
+ <string>me.zhaowu.alfred-workflow-gem</string>
7
+ <key>connections</key>
8
+ <dict>
9
+ <key>21557827-8003-42B7-A042-16D4C9278FEC</key>
10
+ <array>
11
+ <dict>
12
+ <key>destinationuid</key>
13
+ <string>42D05639-3F0F-4760-8214-317167E4173D</string>
14
+ <key>modifiers</key>
15
+ <integer>0</integer>
16
+ <key>modifiersubtext</key>
17
+ <string></string>
18
+ </dict>
19
+ </array>
20
+ <key>BA17BE41-176A-4E9A-B958-A3F0BEA36829</key>
21
+ <array>
22
+ <dict>
23
+ <key>destinationuid</key>
24
+ <string>42D05639-3F0F-4760-8214-317167E4173D</string>
25
+ <key>modifiers</key>
26
+ <integer>0</integer>
27
+ <key>modifiersubtext</key>
28
+ <string></string>
29
+ </dict>
30
+ </array>
31
+ </dict>
32
+ <key>createdby</key>
33
+ <string>Zhao Cai</string>
34
+ <key>description</key>
35
+ <string>A starting place for developing Ruby based workflow in Alfred</string>
36
+ <key>disabled</key>
37
+ <false/>
38
+ <key>name</key>
39
+ <string>Ruby Based Workflow Template</string>
40
+ <key>objects</key>
41
+ <array>
42
+ <dict>
43
+ <key>config</key>
44
+ <dict>
45
+ <key>argumenttype</key>
46
+ <integer>1</integer>
47
+ <key>escaping</key>
48
+ <integer>62</integer>
49
+ <key>keyword</key>
50
+ <string>test feedback</string>
51
+ <key>runningsubtext</key>
52
+ <string>working...</string>
53
+ <key>script</key>
54
+ <string>/usr/bin/ruby ./main.rb {query}</string>
55
+ <key>subtext</key>
56
+ <string>Ruby Based Workflow Template</string>
57
+ <key>title</key>
58
+ <string>Test Alfred Feedback</string>
59
+ <key>type</key>
60
+ <integer>0</integer>
61
+ <key>withspace</key>
62
+ <true/>
63
+ </dict>
64
+ <key>type</key>
65
+ <string>alfred.workflow.input.scriptfilter</string>
66
+ <key>uid</key>
67
+ <string>21557827-8003-42B7-A042-16D4C9278FEC</string>
68
+ </dict>
69
+ <dict>
70
+ <key>config</key>
71
+ <dict>
72
+ <key>lastpathcomponent</key>
73
+ <false/>
74
+ <key>onlyshowifquerypopulated</key>
75
+ <true/>
76
+ <key>output</key>
77
+ <integer>0</integer>
78
+ <key>removeextension</key>
79
+ <false/>
80
+ <key>sticky</key>
81
+ <false/>
82
+ <key>text</key>
83
+ <string>{query}</string>
84
+ <key>title</key>
85
+ <string>Ruby Script</string>
86
+ </dict>
87
+ <key>type</key>
88
+ <string>alfred.workflow.output.notification</string>
89
+ <key>uid</key>
90
+ <string>42D05639-3F0F-4760-8214-317167E4173D</string>
91
+ </dict>
92
+ <dict>
93
+ <key>config</key>
94
+ <dict>
95
+ <key>argumenttype</key>
96
+ <integer>2</integer>
97
+ <key>escaping</key>
98
+ <integer>63</integer>
99
+ <key>keyword</key>
100
+ <string>test rescue feedback</string>
101
+ <key>runningsubtext</key>
102
+ <string>...</string>
103
+ <key>script</key>
104
+ <string>/usr/bin/ruby ./main_with_rescue_feedback.rb {query}</string>
105
+ <key>subtext</key>
106
+ <string>Ruby Based Workflow Template</string>
107
+ <key>title</key>
108
+ <string>Test Alfred Rescue Feedback</string>
109
+ <key>type</key>
110
+ <integer>0</integer>
111
+ <key>withspace</key>
112
+ <false/>
113
+ </dict>
114
+ <key>type</key>
115
+ <string>alfred.workflow.input.scriptfilter</string>
116
+ <key>uid</key>
117
+ <string>BA17BE41-176A-4E9A-B958-A3F0BEA36829</string>
118
+ </dict>
119
+ </array>
120
+ <key>readme</key>
121
+ <string></string>
122
+ <key>uidata</key>
123
+ <dict>
124
+ <key>21557827-8003-42B7-A042-16D4C9278FEC</key>
125
+ <dict>
126
+ <key>ypos</key>
127
+ <real>250</real>
128
+ </dict>
129
+ <key>42D05639-3F0F-4760-8214-317167E4173D</key>
130
+ <dict>
131
+ <key>ypos</key>
132
+ <real>140</real>
133
+ </dict>
134
+ <key>BA17BE41-176A-4E9A-B958-A3F0BEA36829</key>
135
+ <dict>
136
+ <key>ypos</key>
137
+ <real>370</real>
138
+ </dict>
139
+ </dict>
140
+ <key>webaddress</key>
141
+ <string>http://github.com/zhaocai/alfred2-ruby-template</string>
142
+ </dict>
143
+ </plist>
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alfred-workflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 1.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Zhao Cai
@@ -76,6 +76,7 @@ files:
76
76
  - .gemtest
77
77
  - .rspec
78
78
  - .ruby-version
79
+ - .travis.yml
79
80
  - Gemfile
80
81
  - Gemfile.lock
81
82
  - History.txt
@@ -87,11 +88,14 @@ files:
87
88
  - lib/alfred/feedback.rb
88
89
  - lib/alfred/feedback/file_item.rb
89
90
  - lib/alfred/feedback/item.rb
91
+ - lib/alfred/setting.rb
90
92
  - lib/alfred/ui.rb
91
93
  - lib/alfred/version.rb
94
+ - spec/alfred_spec.rb
92
95
  - spec/feedback_spec.rb
93
96
  - spec/item_spec.rb
94
97
  - spec/spec_helper.rb
98
+ - test/workflow/info.plist
95
99
  homepage: https://github.com/zhaocai/alfred-workflow
96
100
  licenses:
97
101
  - GPL-3