jared 0.0.5

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in jared.gemspec
4
+ gemspec
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require 'bundler/gem_tasks'
data/bin/jared ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ begin
4
+ require 'jared/jared.rb'
5
+ rescue LoadError
6
+ require 'rubygems'
7
+ require 'jared/jared.rb'
8
+ end
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,4 @@
1
+ ---
2
+ name:
3
+ talk: "true"
4
+ color: "false"
@@ -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
@@ -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)
@@ -0,0 +1,3 @@
1
+ module Jared
2
+ VERSION = "0.0.3"
3
+ end
data/readme.md ADDED
@@ -0,0 +1,2 @@
1
+ # Jared
2
+ A Ruby powered Digital Assistant (RDA)
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: []