26 lines
616 B
Ruby
26 lines
616 B
Ruby
require_relative "../page.rb"
|
|
|
|
module PF
|
|
class Classes < Page
|
|
def initialize
|
|
super(uri: "https://www.d20pfsrd.com/classes")
|
|
end
|
|
|
|
def to_ruby
|
|
parsed = parse
|
|
klasses = parsed
|
|
.xpath("//a")
|
|
.to_a
|
|
.filter { |a| a[:href].match?(/^https:\/\/www.d20pfsrd.com\/classes\/[\w-]+\/.+/) }
|
|
klasses.map { |klass|
|
|
{
|
|
name: klass.text,
|
|
book: klass[:href].split("/")[-2].gsub("-", " ").capitalize,
|
|
link: klass[:href],
|
|
page: PF::Class.new(uri: klass[:href]),
|
|
}
|
|
}.uniq { |klass| klass[:link] }
|
|
end
|
|
end
|
|
end
|