jared 0.0.7a3 → 0.0.7a4
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/.gitignore +10 -8
- data/jared.gemspec +35 -35
- data/lib/jared/core/clock/init.rb +15 -0
- data/lib/jared/core/clock/lib/clock.rb +23 -0
- data/lib/jared/core/configure/init.rb +15 -0
- data/lib/jared/core/configure/lib/config.rb +60 -0
- data/lib/jared/core/create/init.rb +16 -0
- data/lib/jared/core/create/lib/create.rb +33 -0
- data/lib/jared/core/daemon/daemon.rb +104 -0
- data/lib/jared/core/daemon/init.rb +15 -0
- data/lib/jared/core/date/init.rb +15 -0
- data/lib/jared/core/date/lib/date.rb +45 -0
- data/lib/jared/core/greeter/init.rb +15 -0
- data/lib/jared/core/greeter/lib/greeting.rb +26 -0
- data/lib/jared/core/jamendo/init.rb +17 -0
- data/lib/jared/core/jamendo/lib/jamendo.rb +88 -0
- data/lib/jared/core/mail/init.rb +15 -0
- data/lib/jared/core/mail/lib/mail.rb +45 -0
- data/lib/jared/core/map/New File +0 -0
- data/lib/jared/core/map/init.rb +15 -0
- data/lib/jared/core/map/lib/map.rb +12 -0
- data/lib/jared/core/player/init.rb +15 -0
- data/lib/jared/core/player/lib/player.rb +33 -0
- data/lib/jared/core/stock/init.rb +17 -0
- data/lib/jared/core/stock/lib/stock.rb +34 -0
- data/lib/jared/core/tasks/init.rb +15 -0
- data/lib/jared/core/tasks/lib/task.rb +42 -0
- data/lib/jared/core/weather/init.rb +17 -0
- data/lib/jared/core/weather/lib/weather.rb +70 -0
- data/lib/jared/database.rb +59 -0
- data/lib/jared/jared.rb +22 -141
- data/lib/jared/logg.rb +15 -0
- data/lib/jared/models/task.rb +5 -5
- data/lib/jared/plugin.rb +35 -0
- data/lib/jared/plugins.rb +92 -0
- data/lib/jared/version.rb +2 -2
- data/lib/jared.rb +86 -77
- data/readme.md +14 -18
- metadata +34 -22
- data/lib/jared/helpers/calculator.rb +0 -8
- data/lib/jared/helpers/calendar.rb +0 -15
- data/lib/jared/helpers/clock.rb +0 -19
- data/lib/jared/helpers/config.rb +0 -46
- data/lib/jared/helpers/create.rb +0 -27
- data/lib/jared/helpers/date.rb +0 -41
- data/lib/jared/helpers/deamon.rb +0 -100
- data/lib/jared/helpers/define.rb +0 -8
- data/lib/jared/helpers/greeting.rb +0 -22
- data/lib/jared/helpers/jamendo.rb +0 -58
- data/lib/jared/helpers/mail.rb +0 -38
- data/lib/jared/helpers/map.rb +0 -10
- data/lib/jared/helpers/notfound.rb +0 -14
- data/lib/jared/helpers/player.rb +0 -29
- data/lib/jared/helpers/stock.rb +0 -21
- data/lib/jared/helpers/task.rb +0 -114
- data/lib/jared/helpers/weather.rb +0 -68
- data/lib/jared/lib.rb +0 -13
data/lib/jared.rb
CHANGED
@@ -1,77 +1,86 @@
|
|
1
|
-
#!/bin/ruby
|
2
|
-
|
3
|
-
require
|
4
|
-
require '
|
5
|
-
require
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
1
|
+
#!/bin/ruby
|
2
|
+
s=Time.now
|
3
|
+
require "json"
|
4
|
+
require 'logger'
|
5
|
+
require "open-uri"
|
6
|
+
require 'fileutils'
|
7
|
+
require 'versionomy'
|
8
|
+
require_relative 'jared/version'
|
9
|
+
|
10
|
+
if File.exists?("#{Dir.home}/.jared") && File.directory?("#{Dir.home}/.jared")
|
11
|
+
else
|
12
|
+
FileUtils.mkdir("#{Dir.home}/.jared")
|
13
|
+
end
|
14
|
+
|
15
|
+
if File.exists?("#{Dir.home}/.jared/logs") && File.directory?("#{Dir.home}/.jared/logs")
|
16
|
+
else
|
17
|
+
FileUtils.mkdir("#{Dir.home}/.jared/logs")
|
18
|
+
end
|
19
|
+
|
20
|
+
if File.exists?("#{Dir.home}/.jared/db") && File.directory?("#{Dir.home}/.jared/db")
|
21
|
+
else
|
22
|
+
FileUtils.mkdir("#{Dir.home}/.jared/db")
|
23
|
+
end
|
24
|
+
|
25
|
+
if File.exists?("#{Dir.home}/.jared/plugins") && File.directory?("#{Dir.home}/.jared/plugins")
|
26
|
+
else
|
27
|
+
FileUtils.mkdir("#{Dir.home}/.jared/plugins")
|
28
|
+
end
|
29
|
+
|
30
|
+
require_relative "jared/logg"
|
31
|
+
include Logg
|
32
|
+
|
33
|
+
log.info "Loaded logger."
|
34
|
+
log.info "Using Jared version: #{Jared::VERSION}"
|
35
|
+
Thread.new do
|
36
|
+
info=open("http://rubygems.org/api/v1/gems/jared.json").read
|
37
|
+
json=JSON.parse(info)
|
38
|
+
current_version = Versionomy.parse(Jared::VERSION)
|
39
|
+
|
40
|
+
web_version = Versionomy.parse(json['version'])
|
41
|
+
if current_version < web_version
|
42
|
+
log.info "A new version of Jared is available on RubyGems."
|
43
|
+
puts "A new version of Jared is available on RubyGems."
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
require_relative "jared/database"
|
48
|
+
log.info "Loading Database..."
|
49
|
+
Lib.db
|
50
|
+
log.info "Loaded Database."
|
51
|
+
|
52
|
+
require_relative "jared/plugins"
|
53
|
+
log.info "Loading plugins..."
|
54
|
+
@plugins=Plugins::Load.new.load_all
|
55
|
+
log.info "Loaded plugins."
|
56
|
+
|
57
|
+
if User.first.blank?
|
58
|
+
require 'green_shoes'
|
59
|
+
new_user = User.new(:name => "#{Etc.getlogin}", :zip => "10001", :music => 'classical')
|
60
|
+
log.info "Creating new user: #{new_user.inspect}"
|
61
|
+
new_user.save
|
62
|
+
log.info "Created new user: #{new_user.inspect}"
|
63
|
+
c=confirm "Setup Jared?\nSetting up Jared will enable it\n to retrieve personalized data for you."
|
64
|
+
if c == true
|
65
|
+
require 'jared/core/config'
|
66
|
+
Action::Configure.new.config
|
67
|
+
else
|
68
|
+
alert "Run: 'jared config' to setup later."
|
69
|
+
log.info "Skipped initial setup."
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
if Music.first.blank?
|
74
|
+
jrd = Music.new(:status => "Ready", :now_playing => "", :now_playing_author => "")
|
75
|
+
jrd.save
|
76
|
+
if jrd
|
77
|
+
else
|
78
|
+
log.error 'Failed to create Music!'
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
f=Time.now
|
83
|
+
@load_time = f-s
|
84
|
+
log.info "Main dependencies took #{@load_time} seconds to load."
|
85
|
+
|
86
|
+
require_relative "jared/jared"
|
data/readme.md
CHANGED
@@ -1,8 +1,16 @@
|
|
1
1
|
# Jared - Ruby Powered Digital Assistant (RDA)
|
2
2
|
## What is Jared?
|
3
|
+
Jared is a ruby program that in the hopefully near future will be useful for:
|
4
|
+
* Creating and managing your tasks
|
5
|
+
* Checking your email
|
6
|
+
* Playing your preferred music
|
7
|
+
* Creating skeleton project files
|
8
|
+
* Understand spoken commands (in the distant future)
|
9
|
+
* Other miscellaneous actions
|
10
|
+
|
3
11
|
Jared's goal is to be a reality of Jarvis from the film, Ironman.
|
4
12
|
|
5
|
-
However, thats a
|
13
|
+
However, thats a _long_ ways down the road.
|
6
14
|
## Install Jared
|
7
15
|
You can get the lasest stable release on RubyGems via *gem install jared*
|
8
16
|
|
@@ -13,13 +21,6 @@ You can get the lasest stable release on RubyGems via *gem install jared*
|
|
13
21
|
|
14
22
|
Usage: jared clock
|
15
23
|
|
16
|
-
### Cal
|
17
|
-
<span style="color:red;">Not yet implemented.</span>
|
18
|
-
|
19
|
-
Manage your appointments.
|
20
|
-
|
21
|
-
Usage: jared cal
|
22
|
-
|
23
24
|
### Day
|
24
25
|
Puts current day.
|
25
26
|
|
@@ -67,21 +68,16 @@ You can get the lasest stable release on RubyGems via *gem install jared*
|
|
67
68
|
|
68
69
|
Usage: jared weather (today/tomorrow/forecast)
|
69
70
|
|
70
|
-
|
71
|
-
<span style="color:red;">Not yet implemented.</span>
|
72
|
-
|
73
|
-
Google's the definition of the word.
|
74
|
-
|
75
|
-
Usage: jared whatis glass
|
76
|
-
|
71
|
+
|
77
72
|
### Whereis
|
78
73
|
Opens Gmaps in default browser.
|
79
74
|
|
80
|
-
Usage: jared whereis
|
81
|
-
|
82
|
-
Search Gmaps for > Walmart
|
75
|
+
Usage: jared whereis "Mt. st helens"
|
83
76
|
|
84
77
|
### View
|
85
78
|
Opens the file in the system viewer.
|
86
79
|
|
87
80
|
Usage: jared view jared.rb
|
81
|
+
|
82
|
+
## Contribute
|
83
|
+
[Wiki](http://github.com/cyberarm/jared/wiki/Contribute)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jared
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7a4
|
5
5
|
prerelease: 5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-01-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: stock_quote
|
@@ -60,7 +60,7 @@ dependencies:
|
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '0'
|
62
62
|
- !ruby/object:Gem::Dependency
|
63
|
-
name:
|
63
|
+
name: versionomy
|
64
64
|
requirement: !ruby/object:Gem::Requirement
|
65
65
|
none: false
|
66
66
|
requirements:
|
@@ -265,28 +265,41 @@ files:
|
|
265
265
|
- bin/jared
|
266
266
|
- jared.gemspec
|
267
267
|
- lib/jared.rb
|
268
|
-
- lib/jared/
|
269
|
-
- lib/jared/
|
270
|
-
- lib/jared/
|
271
|
-
- lib/jared/
|
272
|
-
- lib/jared/
|
273
|
-
- lib/jared/
|
274
|
-
- lib/jared/
|
275
|
-
- lib/jared/
|
276
|
-
- lib/jared/
|
277
|
-
- lib/jared/
|
278
|
-
- lib/jared/
|
279
|
-
- lib/jared/
|
280
|
-
- lib/jared/
|
281
|
-
- lib/jared/
|
282
|
-
- lib/jared/
|
283
|
-
- lib/jared/
|
284
|
-
- lib/jared/
|
268
|
+
- lib/jared/core/clock/init.rb
|
269
|
+
- lib/jared/core/clock/lib/clock.rb
|
270
|
+
- lib/jared/core/configure/init.rb
|
271
|
+
- lib/jared/core/configure/lib/config.rb
|
272
|
+
- lib/jared/core/create/init.rb
|
273
|
+
- lib/jared/core/create/lib/create.rb
|
274
|
+
- lib/jared/core/daemon/daemon.rb
|
275
|
+
- lib/jared/core/daemon/init.rb
|
276
|
+
- lib/jared/core/date/init.rb
|
277
|
+
- lib/jared/core/date/lib/date.rb
|
278
|
+
- lib/jared/core/greeter/init.rb
|
279
|
+
- lib/jared/core/greeter/lib/greeting.rb
|
280
|
+
- lib/jared/core/jamendo/init.rb
|
281
|
+
- lib/jared/core/jamendo/lib/jamendo.rb
|
282
|
+
- lib/jared/core/mail/init.rb
|
283
|
+
- lib/jared/core/mail/lib/mail.rb
|
284
|
+
- lib/jared/core/map/New File
|
285
|
+
- lib/jared/core/map/init.rb
|
286
|
+
- lib/jared/core/map/lib/map.rb
|
287
|
+
- lib/jared/core/player/init.rb
|
288
|
+
- lib/jared/core/player/lib/player.rb
|
289
|
+
- lib/jared/core/stock/init.rb
|
290
|
+
- lib/jared/core/stock/lib/stock.rb
|
291
|
+
- lib/jared/core/tasks/init.rb
|
292
|
+
- lib/jared/core/tasks/lib/task.rb
|
293
|
+
- lib/jared/core/weather/init.rb
|
294
|
+
- lib/jared/core/weather/lib/weather.rb
|
295
|
+
- lib/jared/database.rb
|
285
296
|
- lib/jared/jared.rb
|
286
|
-
- lib/jared/
|
297
|
+
- lib/jared/logg.rb
|
287
298
|
- lib/jared/models/music.rb
|
288
299
|
- lib/jared/models/task.rb
|
289
300
|
- lib/jared/models/user.rb
|
301
|
+
- lib/jared/plugin.rb
|
302
|
+
- lib/jared/plugins.rb
|
290
303
|
- lib/jared/version.rb
|
291
304
|
- readme.md
|
292
305
|
- spec/spec_helper.rb
|
@@ -324,4 +337,3 @@ signing_key:
|
|
324
337
|
specification_version: 3
|
325
338
|
summary: Ruby powered digital assistant
|
326
339
|
test_files: []
|
327
|
-
has_rdoc:
|
@@ -1,15 +0,0 @@
|
|
1
|
-
class Helpers
|
2
|
-
# Not yet implemented.
|
3
|
-
#
|
4
|
-
# _jared_ _cal_ Manage your appointments in a Green Shoes app.
|
5
|
-
def self.cal
|
6
|
-
require "green_shoes"
|
7
|
-
Shoes.app do
|
8
|
-
title "Calendar Events"
|
9
|
-
events = ["Sidney", "Call Bob"]
|
10
|
-
events.each do |e|
|
11
|
-
para e
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
data/lib/jared/helpers/clock.rb
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
class Helpers
|
2
|
-
# _jared_ _clock_ Opens a digital clock in a Green Shoes app.
|
3
|
-
def self.clock
|
4
|
-
begin
|
5
|
-
require "green_shoes"
|
6
|
-
Shoes.app width: 400, height: 70, title: "Jared Clock" do
|
7
|
-
@clock = stack do
|
8
|
-
title "#{Time.now.strftime("%I:%M:%P")}"
|
9
|
-
end
|
10
|
-
every 0.5 do
|
11
|
-
@clock.clear do
|
12
|
-
title "#{Time.now.strftime("%I:%M:%S%P")}"
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
rescue LoadError
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
data/lib/jared/helpers/config.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
class Helpers
|
2
|
-
Lib.db
|
3
|
-
# Opens a Green Shoes window to configure your name, zipcode, gmail username, gmail password.
|
4
|
-
def self.config
|
5
|
-
require 'gibberish'
|
6
|
-
Shoes.app title: "Jared - Configuration", height: 300, width: 500 do
|
7
|
-
background "#333".."#666"
|
8
|
-
tagline "Configure Jared to your person"
|
9
|
-
@user = User.first
|
10
|
-
if @user.blank?
|
11
|
-
button "Create profile" do
|
12
|
-
new_user = User.new(:name => "#{Etc.getlogin}", :zip => "10001")
|
13
|
-
new_user.save
|
14
|
-
if new_user == true
|
15
|
-
exit
|
16
|
-
Helpers.config
|
17
|
-
else
|
18
|
-
alert "Failed. Retry."
|
19
|
-
end
|
20
|
-
end
|
21
|
-
else
|
22
|
-
para 'Your name:'
|
23
|
-
@name = edit_line "#{@user.name}"
|
24
|
-
para 'Your zipcode (For weather)'
|
25
|
-
@zip = edit_line "#{@user.zip}"
|
26
|
-
para 'Prefered music genre (For jamendo)'
|
27
|
-
@music = list_box items: ['classical', 'rock', 'jazz', 'electro', 'hiphop'].sort
|
28
|
-
para 'Your Gmail email address (For email checking)'
|
29
|
-
@mail = edit_line "#{@user.mail_username}"
|
30
|
-
para 'Your Gmail password (Will be encrypted)'
|
31
|
-
@password = edit_line "#{@user.mail_password}", secret: true
|
32
|
-
button "Save" do
|
33
|
-
cipher = Gibberish::AES.new(@mail.text)
|
34
|
-
@secret = cipher.enc(@password.text)
|
35
|
-
update_user = @user.update_attributes(:name => @name.text, :zip => @zip.text, :music => @music.text, :mail_username => @mail.text, :mail_password => @secret)
|
36
|
-
if update_user
|
37
|
-
alert "Saved."
|
38
|
-
close
|
39
|
-
else
|
40
|
-
alert "failed to save."
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
data/lib/jared/helpers/create.rb
DELETED
@@ -1,27 +0,0 @@
|
|
1
|
-
class Helpers
|
2
|
-
# Creates a File or Folder.
|
3
|
-
#
|
4
|
-
# Usage:
|
5
|
-
#
|
6
|
-
# <em>jared create file/folder/dir</em>
|
7
|
-
def self.create
|
8
|
-
begin
|
9
|
-
if ARGV[1].include?("folder")
|
10
|
-
FileUtils.mkdir "#{ARGV[2]}"
|
11
|
-
puts "New Folder is at: #{Dir.pwd}/#{ARGV[2]}"
|
12
|
-
elsif ARGV[1].include?("dir")
|
13
|
-
FileUtils.mkdir "#{ARGV[2]}"
|
14
|
-
puts "New Directory is at: #{Dir.pwd}/#{ARGV[2]}"
|
15
|
-
elsif ARGV[1].include?("file")
|
16
|
-
File.open("#{ARGV[2]}", 'w') do |file|
|
17
|
-
file.puts "Hello World"
|
18
|
-
end
|
19
|
-
puts "New file is at: #{Dir.pwd}/#{ARGV[2]}"
|
20
|
-
else
|
21
|
-
puts "Don't know how-to create that."
|
22
|
-
end
|
23
|
-
rescue NoMethodError
|
24
|
-
puts "Folder/File name can't be blank."
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
data/lib/jared/helpers/date.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
class Helpers
|
2
|
-
# Date and Time
|
3
|
-
#
|
4
|
-
# _jared_ _time_ returns the current time.
|
5
|
-
#
|
6
|
-
#e.g.
|
7
|
-
#
|
8
|
-
#02:33:19pm
|
9
|
-
#
|
10
|
-
# _Jared_ _date_ returns the current date.
|
11
|
-
#
|
12
|
-
#e.g.
|
13
|
-
#
|
14
|
-
#Tuesday the 1st of May 2012
|
15
|
-
#
|
16
|
-
#(05/01/2012)
|
17
|
-
def self.date
|
18
|
-
st = "#{Time.now.strftime("%A the %dst of %B %Y")}"
|
19
|
-
nd = "#{Time.now.strftime("%A the %dnd of %B %Y")}"
|
20
|
-
rd = "#{Time.now.strftime("%A the %drd of %B %Y")}"
|
21
|
-
|
22
|
-
if Time.now.strftime("%d") == "02"
|
23
|
-
puts nd.gsub("0", "")
|
24
|
-
elsif Time.now.strftime("%d") == "22"
|
25
|
-
puts nd
|
26
|
-
elsif Time.now.strftime("%d") == "03"
|
27
|
-
puts rd
|
28
|
-
elsif Time.now.strftime("%d") == "33"
|
29
|
-
puts rd
|
30
|
-
elsif Time.now.strftime("%d") == "21"
|
31
|
-
puts st
|
32
|
-
elsif Time.now.strftime("%d") == "31"
|
33
|
-
puts st
|
34
|
-
elsif Time.now.strftime("%d") == "01"
|
35
|
-
puts st.gsub("0", "")
|
36
|
-
else
|
37
|
-
puts "#{Time.now.strftime("%A the %dth of %B %Y")}"
|
38
|
-
end
|
39
|
-
puts "(#{Time.now.strftime("%m/%d/%Y")})"
|
40
|
-
end
|
41
|
-
end
|
data/lib/jared/helpers/deamon.rb
DELETED
@@ -1,100 +0,0 @@
|
|
1
|
-
# == Deamon
|
2
|
-
#
|
3
|
-
# Functions for deamon command.
|
4
|
-
class Deamon
|
5
|
-
Lib.db
|
6
|
-
# TODO: Add tasks to deamon
|
7
|
-
def self.task
|
8
|
-
puts "Jared Tasks"
|
9
|
-
puts "0 Tasks due today."
|
10
|
-
end
|
11
|
-
# TODO: add appointments to deamon
|
12
|
-
#
|
13
|
-
# NOTE: Research Google Calendar
|
14
|
-
def self.appointment
|
15
|
-
puts "Jared Calendar"
|
16
|
-
puts "0 Appointments occurring today."
|
17
|
-
puts "Google Calendar"
|
18
|
-
puts "x Appointments occurring today"
|
19
|
-
end
|
20
|
-
# Actually checks mail.
|
21
|
-
def self.message
|
22
|
-
begin
|
23
|
-
@user = User.first
|
24
|
-
if @user.mail_username.blank?
|
25
|
-
puts "Jared is not configured to check email."
|
26
|
-
puts "Please run, 'jared config'"
|
27
|
-
Kernel.exit
|
28
|
-
elsif @user.mail_password.blank?
|
29
|
-
puts "Jared is not configured to check email."
|
30
|
-
puts "Please run, 'jared config'"
|
31
|
-
Kernel.exit
|
32
|
-
else
|
33
|
-
cipher = Gibberish::AES.new(@user.mail_username)
|
34
|
-
password = cipher.dec(@user.mail_password)
|
35
|
-
Gmail.connect(@user.mail_username, password) do |gmail|
|
36
|
-
if gmail.logged_in?
|
37
|
-
if gmail.inbox.count(:unread) == 0
|
38
|
-
else
|
39
|
-
puts "Google Mail"
|
40
|
-
puts gmail.inbox.count(:unread).to_s + " Unread messages."
|
41
|
-
|
42
|
-
gmail.inbox.emails(:unread).first(15).each do |email|
|
43
|
-
email.unread!
|
44
|
-
print "From:",email.sender[0].mailbox,"@", email.sender[0].host, ", Subject:",email.subject
|
45
|
-
puts
|
46
|
-
puts
|
47
|
-
end
|
48
|
-
end
|
49
|
-
else
|
50
|
-
puts "Failed to login."
|
51
|
-
Kernel.exit
|
52
|
-
end
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
56
|
-
rescue => e
|
57
|
-
if e.to_s.include?("mail_")
|
58
|
-
puts "Jared is not configured to check email."
|
59
|
-
puts "Please run, 'jared config' or click 'OK' on the popup."
|
60
|
-
Kernel.exit
|
61
|
-
end
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
class Helpers
|
66
|
-
# Checks every 60 seconds for, Tasks, Appointments, Emails.
|
67
|
-
#
|
68
|
-
# Usage: <em>jared deamon (task/cal/mail)</em>
|
69
|
-
def self.deamon
|
70
|
-
if ARGV[1] == nil
|
71
|
-
Helpers.mail
|
72
|
-
loop do
|
73
|
-
Deamon.message
|
74
|
-
Deamon.task
|
75
|
-
Deamon.appointment
|
76
|
-
puts
|
77
|
-
puts
|
78
|
-
sleep(60)
|
79
|
-
end
|
80
|
-
elsif ARGV[1] == "cal" || ARGV[1] == "calendar"
|
81
|
-
loop do
|
82
|
-
Deamon.appointment
|
83
|
-
puts
|
84
|
-
sleep(60)
|
85
|
-
end
|
86
|
-
elsif ARGV[1] == 'mail'
|
87
|
-
Helpers.mail
|
88
|
-
loop do
|
89
|
-
Deamon.message
|
90
|
-
sleep(60)
|
91
|
-
end
|
92
|
-
elsif ARGV[1] == "task"
|
93
|
-
loop do
|
94
|
-
Deamon.task
|
95
|
-
puts
|
96
|
-
sleep(60)
|
97
|
-
end
|
98
|
-
end
|
99
|
-
end
|
100
|
-
end
|
data/lib/jared/helpers/define.rb
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
class Helpers
|
2
|
-
Lib.db
|
3
|
-
# Dynamically greets the user by time when <em>jared hi/hello</em> is run.
|
4
|
-
def self.greeting
|
5
|
-
if Time.now.strftime("%H").to_i < "04".to_i
|
6
|
-
puts "Go tee bed."
|
7
|
-
elsif Time.now.strftime("%H").to_i < "07".to_i
|
8
|
-
puts "Yawn Zzzz"
|
9
|
-
elsif Time.now.strftime("%H").to_i < "12".to_i
|
10
|
-
puts "Morning, #{User.first.name.capitalize}"
|
11
|
-
elsif Time.now.strftime("%H").to_i < "16".to_i
|
12
|
-
puts "Afternoon, #{User.first.name.capitalize}"
|
13
|
-
elsif Time.now.strftime("%H").to_i < "20".to_i
|
14
|
-
puts "Evening, #{User.first.name.capitalize}"
|
15
|
-
elsif Time.now.strftime("%H").to_i < "22".to_i
|
16
|
-
puts "Ummm, good night, #{User.first.name.capitalize}"
|
17
|
-
puts "Its getting late, consider getting some rest."
|
18
|
-
elsif Time.now.strftime("%H").to_i < "24".to_i
|
19
|
-
puts "Zzzz"
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
@@ -1,58 +0,0 @@
|
|
1
|
-
class Helpers
|
2
|
-
|
3
|
-
def self.player(n=0)
|
4
|
-
puts "Now playing: #{@data['name']}, By: #{@data['artist_name']} (#{n})"
|
5
|
-
@playbin = Gst::ElementFactory.make('playbin2')
|
6
|
-
@playbin.uri = @data['stream']
|
7
|
-
loop = GLib::MainLoop.new(nil, false)
|
8
|
-
bus = @playbin.bus
|
9
|
-
bus.add_watch {|bus, message|
|
10
|
-
case message.type
|
11
|
-
when Gst::Message::EOS
|
12
|
-
loop.quit
|
13
|
-
end
|
14
|
-
true}
|
15
|
-
@playbin.play
|
16
|
-
begin
|
17
|
-
loop.run
|
18
|
-
rescue Interrupt
|
19
|
-
ensure
|
20
|
-
@playbin.stop
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
def self.jamendo(mode='once')
|
25
|
-
Lib.db
|
26
|
-
@jared = Music.first
|
27
|
-
@user = User.first
|
28
|
-
require 'gtk2'
|
29
|
-
require 'open-uri'
|
30
|
-
require 'json'
|
31
|
-
require 'gst'
|
32
|
-
@list = open("http://api.jamendo.com/get2/name+url+stream+album_name+album_url+album_image+artist_name+artist_url/track/json/track_album+album_artist/?n=25&order=ratingmonth_desc&tag_idstr=#{@user.music}").read
|
33
|
-
@d = JSON.parse(@list)
|
34
|
-
@data = @d[2]
|
35
|
-
|
36
|
-
if mode == 'loop'
|
37
|
-
puts 'Starting loop, use CTRL-Pause(Break) to stop.'
|
38
|
-
loop do
|
39
|
-
v = Random.rand(0..24)
|
40
|
-
@data = @d[v]
|
41
|
-
@jared.update_attributes(:author_url => "#{@data['artist_url']}", :album_image => "#{@data['album_image']}", :music_url => "#{@data['url']}", :album_url => "#{@data['album_url']}", :now_playing => "#{@data['name']}", :now_playing_author => "#{@data['artist_name']}", :now_playing_album => "#{@data['album_name']}")
|
42
|
-
Helpers.player(v)
|
43
|
-
end
|
44
|
-
elsif mode == 'once'
|
45
|
-
v = Random.rand(0..49)
|
46
|
-
@data = @d[v]
|
47
|
-
@jared.update_attributes(:author_url => "#{@data['artist_url']}", :album_image => "#{@data['album_image']}", :music_url => "#{@data['url']}", :album_url => "#{@data['album_url']}", :now_playing => "#{@data['name']}", :now_playing_author => "#{@data['artist_name']}", :now_playing_album => "#{@data['album_name']}")
|
48
|
-
Helpers.player(v)
|
49
|
-
elsif mode == 'help'
|
50
|
-
puts 'loop|once'
|
51
|
-
else
|
52
|
-
v = mode.to_s.to_i
|
53
|
-
@data = @d[v]
|
54
|
-
@jared.update_attributes(:author_url => "#{@data['artist_url']}", :album_image => "#{@data['album_image']}", :music_url => "#{@data['url']}", :album_url => "#{@data['album_url']}", :now_playing => "#{@data['name']}", :now_playing_author => "#{@data['artist_name']}", :now_playing_album => "#{@data['album_name']}")
|
55
|
-
Helpers.player(mode.to_s.to_i)
|
56
|
-
end
|
57
|
-
end
|
58
|
-
end
|