From 711adc6e5e0264b532b0fb65b926273512f3d9ee Mon Sep 17 00:00:00 2001 From: Jessica Lynn Suttles Date: Thu, 7 Feb 2013 17:30:56 -0800 Subject: [PATCH] renames rake task update_spec_cases to specs:update --- README.md | 2 +- Rakefile | 90 ++++++++++++++++++++++++++++--------------------------- 2 files changed, 47 insertions(+), 45 deletions(-) diff --git a/README.md b/README.md index fbe5376..3875cdb 100644 --- a/README.md +++ b/README.md @@ -70,7 +70,7 @@ If you find bugs, have feature requests or questions, please To update spec cases that are scraped from other sites. **Warning:** This could break specs. ```bash -rake update_spec_cases +rake specs:update ``` To run specs diff --git a/Rakefile b/Rakefile index 9b40063..f6fdd61 100644 --- a/Rakefile +++ b/Rakefile @@ -3,57 +3,59 @@ require "nokogiri" require "open-uri" require "pp" -task :update_spec_cases do - sources = [ - { urls: ["http://microformats.org/wiki/microformats-2"], - html_selector: ".source-html4strict", - json_selector: ".source-javascript", - html_method: "inner_text" - }, - { urls: [ - "http://microformat2-node.jit.su/h-adr.html", - "http://microformat2-node.jit.su/h-card.html", - "http://microformat2-node.jit.su/h-entry.html", - "http://microformat2-node.jit.su/h-event.html", - "http://microformat2-node.jit.su/h-geo.html", - "http://microformat2-node.jit.su/h-news.html", - "http://microformat2-node.jit.su/h-org.html", - "http://microformat2-node.jit.su/h-product.html", - "http://microformat2-node.jit.su/h-recipe.html", - "http://microformat2-node.jit.su/h-resume.html", - "http://microformat2-node.jit.su/h-review-aggregate.html", - "http://microformat2-node.jit.su/h-review.html", - "http://microformat2-node.jit.su/rel.html", - "http://microformat2-node.jit.su/includes.html", - ], - html_selector: ".e-x-microformat", - json_selector: ".language-json", - html_method: "inner_html" - } - ] +namespace :specs do + task :update do + sources = [ + { urls: ["http://microformats.org/wiki/microformats-2"], + html_selector: ".source-html4strict", + json_selector: ".source-javascript", + html_method: "inner_text" + }, + { urls: [ + "http://microformat2-node.jit.su/h-adr.html", + "http://microformat2-node.jit.su/h-card.html", + "http://microformat2-node.jit.su/h-entry.html", + "http://microformat2-node.jit.su/h-event.html", + "http://microformat2-node.jit.su/h-geo.html", + "http://microformat2-node.jit.su/h-news.html", + "http://microformat2-node.jit.su/h-org.html", + "http://microformat2-node.jit.su/h-product.html", + "http://microformat2-node.jit.su/h-recipe.html", + "http://microformat2-node.jit.su/h-resume.html", + "http://microformat2-node.jit.su/h-review-aggregate.html", + "http://microformat2-node.jit.su/h-review.html", + "http://microformat2-node.jit.su/rel.html", + "http://microformat2-node.jit.su/includes.html", + ], + html_selector: ".e-x-microformat", + json_selector: ".language-json", + html_method: "inner_html" + } + ] - sources.each do |source| - source[:urls].each do |url| - document = Nokogiri::HTML(open(url).read) - html = document.css(source[:html_selector]).map { |e| e.send(source[:html_method]) } - json = document.css(source[:json_selector]).map { |e| e.inner_text } + sources.each do |source| + source[:urls].each do |url| + document = Nokogiri::HTML(open(url).read) + html = document.css(source[:html_selector]).map { |e| e.send(source[:html_method]) } + json = document.css(source[:json_selector]).map { |e| e.inner_text } - filename = url.split("/").last.gsub(/[.]\w+/, "") - filepath = "spec/support/cases/" + filename = url.split("/").last.gsub(/[.]\w+/, "") + filepath = "spec/support/cases/" - ([html.length, json.length].min).times do |index| + ([html.length, json.length].min).times do |index| - File.open("#{filepath}#{filename}-#{index}.html", "w") do |f| - f.write "\n" - f.write html[index] + File.open("#{filepath}#{filename}-#{index}.html", "w") do |f| + f.write "\n" + f.write html[index] + end + + File.open("#{filepath}#{filename}-#{index}.js", "w") do |f| + f.write "// #{url}\n" + f.write json[index] + end end - File.open("#{filepath}#{filename}-#{index}.js", "w") do |f| - f.write "// #{url}\n" - f.write json[index] - end end - end end end