Module: Abrupt
- Defined in:
- lib/abrupt.rb,
lib/abrupt/crawler.rb,
lib/abrupt/version.rb,
lib/abrupt/converter.rb,
lib/abrupt/service/base.rb,
lib/abrupt/service/link.rb,
lib/abrupt/service/input.rb,
lib/abrupt/service/picture.rb,
lib/abrupt/service/subject.rb,
lib/abrupt/service/complexity.rb,
lib/abrupt/service/readability.rb,
lib/abrupt/transformation/base.rb,
lib/abrupt/service/absolute_url.rb,
lib/abrupt/transformation/client/base.rb,
lib/abrupt/transformation/client/visit.rb,
lib/abrupt/transformation/website/base.rb,
lib/abrupt/transformation/website/link.rb,
lib/abrupt/transformation/website/input.rb,
lib/abrupt/transformation/client/visitor.rb,
lib/abrupt/transformation/website/picture.rb,
lib/abrupt/transformation/website/subject.rb,
lib/abrupt/transformation/client/page_view.rb,
lib/abrupt/transformation/website/complexity.rb,
lib/abrupt/transformation/website/readability.rb
Overview
Defined Under Namespace
Modules: Service, Transformation
Classes: Converter, Crawler
Constant Summary
collapse
- VOC =
RDF::Vocabulary.new('http://wba.cs.hs-rm.de/AbRUPt/')
- VOC_FILE =
File.join File.dirname(__dir__), 'assets', 'voc', 'tbox.ttl'
- RULES_DIR =
File.join File.dirname(__dir__), 'assets', 'rules', '*'
- DELIMITER =
'/'
- PREFIXES =
{
abrupt: VOC.to_s,
rdf: RDF.to_s,
rdfs: RDF::RDFS.to_s,
xsd: RDF::XSD.to_s,
owl: RDF::OWL.to_s
}
- TIME_INPUT_FORMAT =
'%d/%b/%Y:%H:%M:%S'
- TIME_OUTPUT_FORMAT =
'%Y-%m-%d_%H%M%S'
- VERSION =
'1.0.1'
Class Method Summary
collapse
Class Method Details
.append(file, user_file, assertions) ⇒ Object
84
85
86
87
88
89
90
|
# File 'lib/abrupt.rb', line 84
def self.append(file, user_file, assertions)
converter = Converter.instance
converter.append_tbox if assertions.include?('tbox')
converter.append_website_data(file) if assertions.include?('website')
converter.append_user_data(user_file) if assertions.include?('user')
converter.append_rules if assertions.include?('rules')
end
|
.convert(file, *args) ⇒ Object
75
76
77
78
79
80
81
82
|
# File 'lib/abrupt.rb', line 75
def self.convert(file, *args)
converter = Converter.instance
assertions = args.last[:assertions].split ','
assertions.delete 'website' if args.count <= 1
converter.init(args.last) append file, args.first, assertions
converter.result
end
|
.crawl(uri, *args) ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'lib/abrupt.rb', line 59
def self.crawl(uri, *args)
opts = args.first
crawler = Abrupt::Crawler.new uri, opts
start_time = Time.now
log "begin: #{start_time}\n"
result = crawler.crawl
end_time = Time.now
log "\nfinished in #{(end_time - start_time).round} sec.\n\n"
case opts[:format]
when 'xml'
puts Converter.xml(result)
else puts Converter.owl(result)
end
end
|
47
48
49
|
# File 'lib/abrupt.rb', line 47
def self.format_time(time)
parse_time(time).strftime(TIME_OUTPUT_FORMAT)
end
|
55
56
57
|
# File 'lib/abrupt.rb', line 55
def self.log(msg)
print msg
end
|
.parse_time(time) ⇒ Object
43
44
45
|
# File 'lib/abrupt.rb', line 43
def self.parse_time(time)
DateTime.strptime(time, TIME_INPUT_FORMAT) rescue nil
end
|
51
52
53
|
# File 'lib/abrupt.rb', line 51
def self.root
File.dirname __dir__
end
|