spotlight 0.0.4 → 0.0.5

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.
data/README.rdoc CHANGED
@@ -18,6 +18,10 @@ Description goes here.
18
18
 
19
19
  query = Spotlight::Query.from_saved_search('foo.savedSearch')
20
20
 
21
+ === Creates .savedSearch
22
+
23
+ query.to_saved_search('bar.savedSearch')
24
+
21
25
  === Gets the metadata attribute for the specified file
22
26
 
23
27
  item = Spotlight::Item.new('/Users/youpy/foo')
@@ -23,5 +23,18 @@ module Spotlight
23
23
  @md_query.set_search_scopes(@scopes)
24
24
  @md_query.execute
25
25
  end
26
+
27
+ def to_saved_search(filename)
28
+ obj = {
29
+ 'RawQuery' => query_string,
30
+ 'SearchCriteria' => {
31
+ 'FXScopeArrayOfPaths' => scopes
32
+ }
33
+ }
34
+
35
+ File.open(filename, 'w') do |file|
36
+ file.write(obj.to_plist)
37
+ end
38
+ end
26
39
  end
27
40
  end
@@ -1,4 +1,5 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+ require 'tempfile'
2
3
 
3
4
  describe Spotlight::Query do
4
5
  before do
@@ -11,6 +12,17 @@ describe Spotlight::Query do
11
12
  query.scopes.should eql(['kMDQueryScopeComputer'])
12
13
  end
13
14
 
15
+ it "should create saved search from query" do
16
+ tempfile = Tempfile.new('saved_search')
17
+
18
+ @query.scopes << '/foo/bar'
19
+ @query.to_saved_search(tempfile.path)
20
+
21
+ plist = Plist::parse_xml(tempfile.path)
22
+ plist['RawQuery'].should eql('kMDItemDisplayName = "spotlight_query_spec.rb"')
23
+ plist['SearchCriteria']['FXScopeArrayOfPaths'].should eql(['/foo/bar'])
24
+ end
25
+
14
26
  it "should have query string" do
15
27
  @query.query_string.should eql('kMDItemDisplayName = "spotlight_query_spec.rb"')
16
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spotlight
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - youpy