Class: CodeParser
- Inherits:
-
Object
- Object
- CodeParser
- Defined in:
- lib/code_parser.rb
Instance Method Summary collapse
- #all_endpoints(output = @raw_routes_output) ⇒ Object
-
#api_endpoints(output = @raw_routes_output) ⇒ Object
returns an empty array if no api_endpoints in code.
-
#http_requests(output = @raw_routes_output) ⇒ Object
returns all route http request type.
-
#initialize(output) ⇒ CodeParser
constructor
A new instance of CodeParser.
- #parsed_routes(output = raw_routes_output) ⇒ Object
- #public_api_endpoints(output = @raw_routes_output) ⇒ Object
- #public_http_requests(output = @raw_routes_output) ⇒ Object
Constructor Details
#initialize(output) ⇒ CodeParser
Returns a new instance of CodeParser.
3 4 5 |
# File 'lib/code_parser.rb', line 3 def initialize(output) @raw_routes_output = output end |
Instance Method Details
#all_endpoints(output = @raw_routes_output) ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/code_parser.rb', line 32 def all_endpoints(output = @raw_routes_output) endpoints = [] parsed_routes(output).each do |route| endpoints << route[:route] if route[:route] != nil end endpoints end |
#api_endpoints(output = @raw_routes_output) ⇒ Object
returns an empty array if no api_endpoints in code
8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/code_parser.rb', line 8 def api_endpoints(output = @raw_routes_output) endpoints = [] parsed_routes(output).each do |route| if route[:route] != nil if route[:route].include?('/api') endpoints << route[:route] end end end endpoints end |
#http_requests(output = @raw_routes_output) ⇒ Object
returns all route http request type
41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/code_parser.rb', line 41 def http_requests(output = @raw_routes_output) request_type = [] parsed_routes(output).each do |route| if route[:request_type] != nil && route[:route] != nil if route[:request_type] =~ /[\/]/ request_type << route[:type] elsif route[:route].include?('/api') request_type << route[:request_type] end end end request_type.sort end |
#parsed_routes(output = raw_routes_output) ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/code_parser.rb', line 69 def parsed_routes(output = raw_routes_output) #add 'none specified' routes = [] output.strip.each_line do |line| split = line.split(' ') route = {} route[:type] = split[0] route[:request_type] = split[1] route[:route] = split[2] route[:controller] = split[3] route[:action] = split[4] routes << route end routes end |
#public_api_endpoints(output = @raw_routes_output) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/code_parser.rb', line 20 def public_api_endpoints(output = @raw_routes_output) endpoints = [] parsed_routes(output).each do |route| if route[:route] != nil if route[:route].include?('/api/public') endpoints << route[:route] end end end endpoints end |
#public_http_requests(output = @raw_routes_output) ⇒ Object
55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/code_parser.rb', line 55 def public_http_requests(output = @raw_routes_output) request_type = [] parsed_routes(output).each do |route| if route[:request_type] != nil && route[:route] != nil if route[:request_type] =~ /[\/]/ request_type << route[:type] elsif route[:route].include?('/api/public') request_type << route[:request_type] end end end request_type.sort end |