Sha256: 6a79b229ce4f552fb6864f678cf9d93820d799cbb0054b9d23a4bbc797d12051
Contents?: true
Size: 1.68 KB
Versions: 1
Compression:
Stored size: 1.68 KB
Contents
module Rapidoc ## # This module parse controllers comments to yaml format # module YamlParser ## # Check if exist a block with resource information 'rapidoc resource block' # # @param lines [Array] lines that contain comments # @param blocks [Hash] lines of blocks, example: { init: 1, end: 4 } # @return [Hash] resource info # def extract_resource_info( lines, blocks, file_name ) blocks ? info = [] : blocks = [] blocks.each.map do |b| if lines[ b[:init] ].include? "=begin resource" n_lines = b[:end] - b[:init] - 1 begin info.push YAML.load( lines[ b[:init] +1, n_lines ].join.gsub(/\ *#/, '') ) rescue Psych::SyntaxError => e puts "Error parsing block in #{file_name} file [#{b[:init]} - #{b[:end]}]" rescue => e puts e end end end info.first ? info.first : {} end ## # Check all blocks and load those that are 'rapidoc actions block' # # @param lines [Array] lines that contain comments # @param blocks [Hash] lines of blocks, example: { init: 1, end: 4 } # @return [Array] all actions info # def extract_actions_info( lines, blocks, file_name ) info = [] blocks = [] unless blocks blocks.each do |b| if lines[ b[:init] ].include? "=begin action" n_lines = b[:end] - b[:init] - 1 begin info << YAML.load( lines[ b[:init] + 1, n_lines ].join.gsub(/\ *#/, '') ) rescue Exception => e puts "Error parsing block in #{file_name} file [#{b[:init]} - #{b[:end]}]" end end end return info end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rapidoc-0.0.7 | lib/rapidoc/yaml_parser.rb |