splat 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -24,19 +24,19 @@ This is done by adding the following methods to String:
24
24
 
25
25
  'current content'.to_editor
26
26
 
27
-
27
+ Defaults to notepad on windows and vim everywhere else. Set "EDITOR" environment variable to override this.
28
28
 
29
29
  == browser automation
30
30
 
31
31
  'http://www.google.com'.to_browser
32
32
 
33
- Returns a watir compatible browser - uses safariwatir on mac os x and watir (ie) on windows.
33
+ Returns a watir compatible browser - uses safariwatir on mac os x, watir (ie) on windows and firewatir on linux.
34
34
 
35
35
  == clipboard
36
36
 
37
37
  'some new content'.to_clipboard
38
38
 
39
- Copies the string to the os clipboard
39
+ Copies the string to the os clipboard. Requires 'xclip' on linux.
40
40
 
41
41
  == default application launcher
42
42
 
@@ -44,19 +44,19 @@ Copies the string to the os clipboard
44
44
  'textfile.txt'.to_launcher
45
45
  'audiofile.mp3'.to_launcher
46
46
 
47
- Launches the referenced content with the default system application
47
+ Launches the referenced content with the default system application. Requires 'gnome-open' on linux.
48
48
 
49
49
  == audio player
50
50
 
51
51
  'audio.mp3'.to_player
52
52
 
53
- Uses 'afplay' on mac os x and requires mpg123 on windows.
53
+ Uses 'afplay' on mac os x, 'mpg123' on windows and 'mplayer' on linux.
54
54
 
55
55
  == text to speech
56
56
 
57
57
  "I'm afraid. I'm afraid, Dave. Dave, my mind is going.".to_speech
58
58
 
59
- Uses 'say' on mac os x and win32 sapi on windows
59
+ Uses 'say' on mac os x, win32 sapi on windows and espeak on linux.
60
60
 
61
61
  == path cleaning
62
62
 
@@ -64,9 +64,10 @@ Uses 'say' on mac os x and win32 sapi on windows
64
64
 
65
65
  This will simply replace '/' characters with '\' on windows and otherwise leave the path as is.
66
66
 
67
- Note that this is only necessary for passing a path to native windows applications
67
+ Note that this is only necessary for passing a path to native windows applications on windows.
68
68
 
69
69
  == Future plans for world domination
70
70
 
71
- * detect remaining platforms
71
+ * detect other platforms
72
+ * more configurable
72
73
  * determine 1.9 compatibility
@@ -17,7 +17,8 @@ class String
17
17
  tmp_file.close
18
18
  begin
19
19
  File.open(tmp_file.path, 'w') { |out| out.print self }
20
- editor = ENV["EDITOR"] || "notepad"
20
+ default_editor = Splat.platform == :win32 ? 'notepad' : 'vim'
21
+ editor = ENV["EDITOR"] || default_editor
21
22
  system("#{editor} #{tmp_file.path}")
22
23
  return unless $?.to_i == 0
23
24
  File.read(tmp_file.path)
@@ -59,8 +60,15 @@ module Splat
59
60
  try_load 'launcher'
60
61
  try_load 'player'
61
62
  try_load 'browser', 'rb-appscript' => 'appscript', 'safariwatir' => 'safariwatir'
63
+ when /linux/i
64
+ @platform = :linux
65
+ try_load 'tts'
66
+ try_load 'clipboard'
67
+ try_load 'launcher'
68
+ try_load 'player'
69
+ try_load 'browser', 'firewatir' => 'firewatir'
62
70
  else
63
71
  @platform = :unknown
64
72
  puts "I have no idea how to cope with \"#{Config::CONFIG['host_os']}\""
65
73
  end
66
- end
74
+ end
@@ -0,0 +1,7 @@
1
+ class String
2
+ def to_browser
3
+ @browser = Watir::Browser.new
4
+ @browser.goto self
5
+ @browser
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ class String
2
+ def to_clipboard
3
+ IO.popen('xclip -sel clip','w') { |clipboard| clipboard.print self }
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class String
2
+ def to_launcher
3
+ `gnome-open #{self}`
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class String
2
+ def to_player
3
+ `mplayer #{self}`
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class String
2
+ def to_speech
3
+ `espeak "#{self}"`
4
+ end
5
+ end
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: splat
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 25
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
8
  - 1
8
- - 0
9
- version: 0.1.0
9
+ - 1
10
+ version: 0.1.1
10
11
  platform: ruby
11
12
  authors:
12
13
  - Mark Ryall
@@ -14,10 +15,41 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-04-11 00:00:00 +10:00
18
+ date: 2010-10-24 00:00:00 +10:00
18
19
  default_executable:
19
- dependencies: []
20
-
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rake
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ hash: 49
30
+ segments:
31
+ - 0
32
+ - 8
33
+ - 7
34
+ version: 0.8.7
35
+ type: :development
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ name: gemesis
39
+ prerelease: false
40
+ requirement: &id002 !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ hash: 23
46
+ segments:
47
+ - 0
48
+ - 0
49
+ - 4
50
+ version: 0.0.4
51
+ type: :development
52
+ version_requirements: *id002
21
53
  description: |
22
54
  An adapter to get access to the following features across different platforms:
23
55
 
@@ -34,18 +66,23 @@ extensions: []
34
66
  extra_rdoc_files: []
35
67
 
36
68
  files:
37
- - lib/splat/darwin_browser.rb
38
- - lib/splat/darwin_clipboard.rb
69
+ - lib/splat.rb
39
70
  - lib/splat/darwin_launcher.rb
71
+ - lib/splat/win32_browser.rb
72
+ - lib/splat/darwin_browser.rb
40
73
  - lib/splat/darwin_player.rb
74
+ - lib/splat/linux_tts.rb
75
+ - lib/splat/linux_player.rb
41
76
  - lib/splat/darwin_tts.rb
42
- - lib/splat/win32_browser.rb
43
77
  - lib/splat/win32_clipboard.rb
44
- - lib/splat/win32_launcher.rb
45
- - lib/splat/win32_os_path.rb
46
78
  - lib/splat/win32_player.rb
79
+ - lib/splat/linux_clipboard.rb
80
+ - lib/splat/linux_launcher.rb
81
+ - lib/splat/linux_browser.rb
82
+ - lib/splat/win32_os_path.rb
47
83
  - lib/splat/win32_tts.rb
48
- - lib/splat.rb
84
+ - lib/splat/win32_launcher.rb
85
+ - lib/splat/darwin_clipboard.rb
49
86
  - README.rdoc
50
87
  - MIT-LICENSE
51
88
  has_rdoc: true
@@ -58,23 +95,27 @@ rdoc_options: []
58
95
  require_paths:
59
96
  - lib
60
97
  required_ruby_version: !ruby/object:Gem::Requirement
98
+ none: false
61
99
  requirements:
62
100
  - - ">="
63
101
  - !ruby/object:Gem::Version
102
+ hash: 3
64
103
  segments:
65
104
  - 0
66
105
  version: "0"
67
106
  required_rubygems_version: !ruby/object:Gem::Requirement
107
+ none: false
68
108
  requirements:
69
109
  - - ">="
70
110
  - !ruby/object:Gem::Version
111
+ hash: 3
71
112
  segments:
72
113
  - 0
73
114
  version: "0"
74
115
  requirements: []
75
116
 
76
117
  rubyforge_project:
77
- rubygems_version: 1.3.6
118
+ rubygems_version: 1.3.7
78
119
  signing_key:
79
120
  specification_version: 3
80
121
  summary: cross platform adapter for various os specific features