Rosetta Code/Count examples: Difference between revisions

m
→‎{{header|Ruby}}: minor improvement; method names mostly
m (→‎{{header|Ruby}}: minor improvement; method names mostly)
Line 636:
module RosettaCode
 
urlURL_ROOT = "http://www.rosettacode.org/w/%s?%smw" % [
def self.rc_url(page, query)
 
url = "http://www.rosettacode.org/w/%s?%s" % [
def self.rc_urlget_url(page, query)
url = "#{URL_ROOT}/%s?%s" % [
URI.escape(page),
URI.escape(query.map {|k,v| "%s=%s" % [k,v]}.join("&"))
]
url.gsub!(/\+/, '%2B')
p url if $DEBUG
url
end
 
def self.get_api_url(query)
get_url "api.php", query
end
 
def self.rc_taskscategory_members(category)
query = {
"action" => "query",
Line 653 ⟶ 661:
}
while true
url = rc_url "api.php",get_api_url query
doc = REXML::Document.new open(url)
 
Line 674 ⟶ 682:
total_examples = 0
 
RosettaCode.rc_taskscategory_members("Programming_Tasks") do |task|
url = RosettaCode.rc_urlget_url("index.php", {"action" => "raw", "title" => task})
examples = open(url).read.scan("=={{header").length
puts "#{task}: #{examples}"
Anonymous user