-
Notifications
You must be signed in to change notification settings - Fork 9
/
Rakefile
102 lines (86 loc) · 2.62 KB
/
Rakefile
1
2
3
4
5
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
# encoding: UTF-8
require 'rubygems'
require 'rake'
begin
require 'jeweler'
Jeweler::Tasks.new do |gem|
gem.name = "ninja-bot"
gem.summary = %Q{TODO: one-line summary of your gem}
gem.description = %Q{TODO: longer description of your gem}
gem.email = "[email protected]"
gem.homepage = "http://github.com/kuadrosx/ninja-bot"
gem.authors = ["Jorge H. Cuadrado"]
gem.add_dependency "cinch", "~>1.0"
gem.add_dependency "mongo_mapper", "~>0.8"
gem.add_dependency "nokogiri"
gem.add_dependency "mechanize"
gem.add_dependency "httparty"
gem.add_dependency "ago"
gem.add_dependency "ideone"
gem.add_dependency "imdb"
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
end
rescue LoadError
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
end
require 'rake/testtask'
Rake::TestTask.new(:test) do |test|
test.libs << 'lib' << 'test'
test.pattern = 'test/**/*_test.rb'
test.verbose = true
end
begin
require 'rcov/rcovtask'
Rcov::RcovTask.new do |test|
test.libs << 'test'
test.pattern = 'test/**/*_test.rb'
test.verbose = true
end
rescue LoadError
task :rcov do
abort "RCov is not available. In order to run rcov, you must: sudo gem install spicycode-rcov"
end
end
task :test => :check_dependencies
task :default => :test
require 'rake/rdoctask'
Rake::RDocTask.new do |rdoc|
if File.exist?('VERSION')
version = File.read('VERSION')
else
version = ""
end
rdoc.rdoc_dir = 'rdoc'
rdoc.title = "ninja-bot #{version}"
rdoc.rdoc_files.include('README*')
rdoc.rdoc_files.include('lib/**/*.rb')
end
task :environment do
$:.unshift File.dirname(__FILE__)+"/lib"
require 'ninja_bot'
NinjaBot.load_config(File.dirname(__FILE__)+"/config/ninja-bot.yml")
end
namespace :ninjabot do
desc "Load trivia data"
task :load_trivia => :environment do
#Question.destroy_all
Dir.glob(File.dirname(__FILE__)+"/trivia/*.txt").each do |path|
puts "Loading: #{path}..."
file = File.basename(path)
File.open(path, "r") do |f|
data = {}
f.each_line do |line|
line.downcase!
category, rest = line.split("©", 2)
author, rest = rest.split("«", 2)
text, answer = rest.split("*", 2)
next if text.blank? || category.blank? || answer.blank?
Question.create(:language => "es",
:text => text.strip.sub(/\.$/, "?"),
:category => category.strip,
:answer => answer.strip)
end
end
end
end
end