class PostMdize::Mdize
Public Class Methods
body_mdize(item)
click to toggle source
# File lib/post_mdize.rb, line 51 def self.body_mdize(item) item['request']['body']['raw'] || '' end
hash_mdize(hash, file, intense = 2)
click to toggle source
# File lib/post_mdize.rb, line 59 def self.hash_mdize(hash, file, intense = 2) hash = {} if hash == "" space = ' ' * intense if hash.is_a?(Array) file.write("[\r\n") hash.each do |element| hash_mdize(element, file, intense + 2) end file.write("#{' ' * (intense - 2)}]") else file.write("#{' ' * (intense - 2)}{\r\n") strings = hash.map do |k, v| if v.is_a?(Hash) || v.is_a?(Array) file.write("#{space}\"#{k}\": ") hash_mdize(v, file, intense + 2) else file.write("#{space}\"#{k}\": \"#{v}\"") file.write(",\r\n") unless v == hash.values.last end end file.write("\r\n#{' ' * (intense - 2)}}\r\n") end end
path_mdize(item)
click to toggle source
# File lib/post_mdize.rb, line 42 def self.path_mdize(item) path_segs = item['request']['url']['path'] path_segs.map!.with_index do |segment, index| segment.match?(/\-/) ? "{:#{self.new.singularize(path_segs[index-1])}_uuid}" : segment end "#{path_segs.join('/')}" end
perform(input_file, output_file)
click to toggle source
# File lib/post_mdize.rb, line 16 def self.perform(input_file, output_file) file = File.read(input_file) hash = JSON.deep_parse(file) outfile = File.open("./#{output_file}", "w") do |file| file.write("# README\r\n") hash['item'].each do |item| file.write("\r\n* __#{item['request']['method']}__ #{path_mdize(item)}\r\n") file.write("#### #{item['name']}\r\n") file.write("params\r\n") file.write("\r\n```\r\n") file.write("header:\r\n") hash_mdize(item['request']['header'], file) file.write("\r\nbody:\r\n") hash_mdize(body_mdize(item), file) file.write("\r\n```\r\n") file.write("RESPONSE:\r\n") file.write("\r\n```\r\n") hash_mdize(response_mdize(item), file) file.write("\r\n```\r\n") end puts "Generated:", file.path end end
response_mdize(item)
click to toggle source
# File lib/post_mdize.rb, line 55 def self.response_mdize(item) item['response'].first['body'] #unless item['response']['body'].empty?) || '' end