jared 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/.gitignore +4 -0
- data/Gemfile +4 -0
- data/Rakefile +1 -0
- data/bin/jared +8 -0
- data/jared.gemspec +18 -0
- data/lib/config.yml +4 -0
- data/lib/jared/helpers.rb +87 -0
- data/lib/jared/jared.rb +130 -0
- data/lib/jared/version.rb +3 -0
- data/readme.md +2 -0
- metadata +67 -0
data/.gitignore
ADDED
data/Gemfile
ADDED
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'bundler/gem_tasks'
|
data/bin/jared
ADDED
data/jared.gemspec
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
$:.push File.expand_path("../lib", __FILE__)
|
3
|
+
#require "jared/version"
|
4
|
+
|
5
|
+
Gem::Specification.new do |s|
|
6
|
+
s.name = "jared"
|
7
|
+
s.version = "0.0.5"
|
8
|
+
s.authors = ["Cyber"]
|
9
|
+
s.email = ["matthewlikesrobots@gmail.com"]
|
10
|
+
s.homepage = "https://github.com/cyberarm/jared"
|
11
|
+
s.summary = "A Ruby powered Digital Assistant (RDA)"
|
12
|
+
s.description = "A Ruby powered Digital Assistant (RDA)"
|
13
|
+
s.add_dependency('commandable')
|
14
|
+
s.files = `git ls-files`.split("\n")
|
15
|
+
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
16
|
+
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
17
|
+
s.require_paths = ["lib"]
|
18
|
+
end
|
data/lib/config.yml
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
module Helper
|
2
|
+
|
3
|
+
# puts and says request text
|
4
|
+
def self.say text
|
5
|
+
print text
|
6
|
+
begin
|
7
|
+
config = YAML.load_file("#{Helper.gem_root}/lib/config.yml")
|
8
|
+
if config['talk'] == "false"
|
9
|
+
nil
|
10
|
+
else
|
11
|
+
require "festivaltts4r"
|
12
|
+
"#{text}".to_speech
|
13
|
+
end
|
14
|
+
rescue LoadError
|
15
|
+
nil
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
# gem path
|
20
|
+
def self.gem_root
|
21
|
+
Gem.loaded_specs['jared'].full_gem_path
|
22
|
+
end
|
23
|
+
|
24
|
+
# get the current time, 02:20 PM
|
25
|
+
def self.get_time
|
26
|
+
Time.now.strftime("%I:%M %p")
|
27
|
+
end
|
28
|
+
|
29
|
+
# get the current month, October
|
30
|
+
def self.get_month
|
31
|
+
Time.now.strftime("%B")
|
32
|
+
end
|
33
|
+
|
34
|
+
# get the current date, 10/07/11
|
35
|
+
def self.get_date
|
36
|
+
Time.now.strftime("%D")
|
37
|
+
end
|
38
|
+
|
39
|
+
# get the current day, Friday
|
40
|
+
def self.get_day
|
41
|
+
Time.now.strftime("%A")
|
42
|
+
end
|
43
|
+
|
44
|
+
# get the current year, 2011
|
45
|
+
def self.get_year
|
46
|
+
Time.now.strftime("%Y")
|
47
|
+
end
|
48
|
+
|
49
|
+
# create directory
|
50
|
+
def self.create_dir name
|
51
|
+
FileUtils.mkdir "#{name}"
|
52
|
+
puts "New directory is at: #{Dir.pwd}/#{name}"
|
53
|
+
begin
|
54
|
+
require "festivaltts4r"
|
55
|
+
"New directory is at: #{Dir.pwd}/#{name}".gsub("/", " ").to_speech
|
56
|
+
rescue LoadError
|
57
|
+
nil
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
# gives location of new file
|
62
|
+
def self.create_file name
|
63
|
+
puts "New file is at: #{Dir.pwd}/#{name}"
|
64
|
+
begin
|
65
|
+
require "festivaltts4r"
|
66
|
+
"New file is at: #{Dir.pwd}/#{name}".gsub("/", " ").to_speech
|
67
|
+
rescue LoadError
|
68
|
+
nil
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
# template for .html files
|
73
|
+
def self.html
|
74
|
+
"<html>\n" + "<head>\n" + "<title>Untitled</title>\n" + "</head>\n" + "<body>\n" + "<div style='text-align: center;'>\n" + "<p>hello world.<br /><br /> I'm located at: #{Dir.pwd}</p>\n" + "</div>\n" + "</body>\n" + "</html>"
|
75
|
+
end
|
76
|
+
|
77
|
+
# Command not found or incorrect parameters
|
78
|
+
def self.error
|
79
|
+
puts "I Don't know how to process that request, type: jared help, for a list of commands"
|
80
|
+
begin
|
81
|
+
require "festivaltts4r"
|
82
|
+
"I Don't know how to process that request, type, jared help, for a list of commands".to_speech
|
83
|
+
rescue LoadError
|
84
|
+
nil
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
data/lib/jared/jared.rb
ADDED
@@ -0,0 +1,130 @@
|
|
1
|
+
require "rubygems"
|
2
|
+
require 'commandable'
|
3
|
+
require 'fileutils'
|
4
|
+
require "yaml"
|
5
|
+
#require "jared/version.rb"
|
6
|
+
require "jared/helpers.rb"
|
7
|
+
|
8
|
+
class Jared
|
9
|
+
extend Commandable
|
10
|
+
config = YAML.load_file("#{Helper.gem_root}/lib/config.yml")
|
11
|
+
if config['color'] == "false"
|
12
|
+
Commandable.color_output = false
|
13
|
+
else
|
14
|
+
Commandable.color_output = true
|
15
|
+
end
|
16
|
+
Commandable.verbose_parameters = false
|
17
|
+
Commandable.app_exe = "Jared, Your Ruby powered Digital Assistant (RDA)"
|
18
|
+
|
19
|
+
command "have jared say hi to you"
|
20
|
+
# Have jared say hi to you
|
21
|
+
def hi
|
22
|
+
config = YAML.load_file("#{Helper.gem_root}/lib/config.yml")
|
23
|
+
if config['name'] == nil
|
24
|
+
puts Helper.say "Hello #{Etc.getlogin.capitalize},"
|
25
|
+
else
|
26
|
+
puts Helper.say "Hello #{config['name']},"
|
27
|
+
end
|
28
|
+
puts Helper.say " I'm Jared.\n Just call me your Ruby powered Digital Assistant or RDA.\nAsk me to do something by typing: jared command"
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
command "Install ruby gems. 'install jared_talk' installs festivaltts4r, ' install <name>'"
|
33
|
+
# Install ruby gems. 'install jared_talk' installs festivaltts4r, ' install <name>'
|
34
|
+
def install(gem)
|
35
|
+
if gem.include? ("ror")
|
36
|
+
puts Helper.say "Installing gem: rails"
|
37
|
+
system("gem install rails")
|
38
|
+
puts Helper.say "Installed gem: rails"
|
39
|
+
elsif gem.include? ("jared_talk")
|
40
|
+
puts Helper.say "Installing gem: Festival tts4r"
|
41
|
+
system("gem install festivaltts4r")
|
42
|
+
puts Helper.say "Installed gem: Festival tts4r"
|
43
|
+
else
|
44
|
+
puts Helper.say "Installing gem: #{gem}"
|
45
|
+
system("gem install #{gem}")
|
46
|
+
puts Helper.say "Installed gem: #{gem}"
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
|
51
|
+
command "Tell the current time, 'time now/month/day/date/year'"
|
52
|
+
# Tell the current time, 'time now/month/day/date/year'
|
53
|
+
def time(time)
|
54
|
+
if time.include? ("now")
|
55
|
+
puts Helper.say "current time is: " + Helper.get_time
|
56
|
+
elsif time.include? ("month")
|
57
|
+
puts Helper.say "current month is: " + Helper.get_month
|
58
|
+
elsif time.include? ("day")
|
59
|
+
puts Helper.say "current day is: " + Helper.get_day
|
60
|
+
elsif time.include? ("date")
|
61
|
+
puts Helper.say "current date is: " + Helper.get_date
|
62
|
+
elsif time.include? ("year")
|
63
|
+
puts Helper.say "current year is: " + Helper.get_year
|
64
|
+
else
|
65
|
+
Helper.error
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
command "create a new file or folder and names it, 'jared create dir/folder/file/rails blog'"
|
71
|
+
# Create a new file or directory and names it, 'jared create dir/file/rails blog'
|
72
|
+
def create(type, name)
|
73
|
+
if type.include? ("folder")
|
74
|
+
Helper.create_dir "#{name}"
|
75
|
+
elsif type.include? ("dir")
|
76
|
+
Helper.create_dir "#{name}"
|
77
|
+
elsif type.include? ("rails")
|
78
|
+
begin
|
79
|
+
require "rails"
|
80
|
+
system("rails new #{name}")
|
81
|
+
puts Helper.say "Your new Rails app is ready"
|
82
|
+
rescue LoadError
|
83
|
+
puts Helper.say "Ruby on rails is not installed. install it with, 'jared install rails'"
|
84
|
+
end
|
85
|
+
elsif type.include? ("file")
|
86
|
+
File.open("#{name}", 'w') do |file|
|
87
|
+
if name.include? (".html")
|
88
|
+
file.puts Helper.html
|
89
|
+
end
|
90
|
+
Helper.create_file name
|
91
|
+
end
|
92
|
+
else
|
93
|
+
puts "#{Helper.error}"
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
|
98
|
+
command "clones the requested repo 'git <url> <name(optional)>'"
|
99
|
+
# Clones the requested repo 'git <url> <name(optional)>'
|
100
|
+
def git(url, name = nil)
|
101
|
+
if name == nil
|
102
|
+
system("git clone #{url}")
|
103
|
+
puts Helper.say "Git is cloning #{url}"
|
104
|
+
else
|
105
|
+
system("git clone #{url} #{name}")
|
106
|
+
puts Helper.say "Git is cloning #{url} into #{name}"
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
|
111
|
+
command "have jared say something 'say enter text wish spoken here.'"
|
112
|
+
#
|
113
|
+
def say(say = "proper command is, 'jared say 'text''")
|
114
|
+
puts Helper.say say
|
115
|
+
end
|
116
|
+
|
117
|
+
|
118
|
+
command "Configure Jared 'jared config <your name> <talk 'true/false'> <help text color 'true/false'>'"
|
119
|
+
# Configure Jared 'jared config <your name>'
|
120
|
+
def config(name, talk, color)
|
121
|
+
@yml = {"name" => "#{name}", "talk" => "#{talk}", "color" => "#{color}"}
|
122
|
+
File.open("#{Helper.gem_root}/lib/config.yml", "w+") do |config|
|
123
|
+
config.puts YAML::dump(@yml)
|
124
|
+
end
|
125
|
+
puts Helper.say "name is now set to #{name}"
|
126
|
+
puts Helper.say "I will talk: #{talk}"
|
127
|
+
puts Helper.say "Help color is: #{color}"
|
128
|
+
end
|
129
|
+
end
|
130
|
+
Commandable.execute(ARGV)
|
data/readme.md
ADDED
metadata
ADDED
@@ -0,0 +1,67 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: jared
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.5
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Cyber
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2011-10-09 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: commandable
|
16
|
+
requirement: &81303480 !ruby/object:Gem::Requirement
|
17
|
+
none: false
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
22
|
+
type: :runtime
|
23
|
+
prerelease: false
|
24
|
+
version_requirements: *81303480
|
25
|
+
description: A Ruby powered Digital Assistant (RDA)
|
26
|
+
email:
|
27
|
+
- matthewlikesrobots@gmail.com
|
28
|
+
executables:
|
29
|
+
- jared
|
30
|
+
extensions: []
|
31
|
+
extra_rdoc_files: []
|
32
|
+
files:
|
33
|
+
- .gitignore
|
34
|
+
- Gemfile
|
35
|
+
- Rakefile
|
36
|
+
- bin/jared
|
37
|
+
- jared.gemspec
|
38
|
+
- lib/config.yml
|
39
|
+
- lib/jared/helpers.rb
|
40
|
+
- lib/jared/jared.rb
|
41
|
+
- lib/jared/version.rb
|
42
|
+
- readme.md
|
43
|
+
homepage: https://github.com/cyberarm/jared
|
44
|
+
licenses: []
|
45
|
+
post_install_message:
|
46
|
+
rdoc_options: []
|
47
|
+
require_paths:
|
48
|
+
- lib
|
49
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
50
|
+
none: false
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
56
|
+
none: false
|
57
|
+
requirements:
|
58
|
+
- - ! '>='
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '0'
|
61
|
+
requirements: []
|
62
|
+
rubyforge_project:
|
63
|
+
rubygems_version: 1.8.11
|
64
|
+
signing_key:
|
65
|
+
specification_version: 3
|
66
|
+
summary: A Ruby powered Digital Assistant (RDA)
|
67
|
+
test_files: []
|