Module: PowerApi::GeneratorHelper::RoutesHelper

Extended by:
ActiveSupport::Concern
Included in:
PowerApi::GeneratorHelpers
Defined in:
lib/power_api/generator_helper/routes_helper.rb

Overview

rubocop:disable Layout/AlignArguments

Instance Method Summary collapse

Instance Method Details

#api_version_routes_line_regexObject



21
22
23
# File 'lib/power_api/generator_helper/routes_helper.rb', line 21

def api_version_routes_line_regex
  /Api::V#{version_number}[^\n]*/
end

#parent_resource_routes_line_regexObject



25
26
27
# File 'lib/power_api/generator_helper/routes_helper.rb', line 25

def parent_resource_routes_line_regex
  /#{parent_resource_route_tpl}[^\n]*/
end

#parent_route_already_have_children?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/power_api/generator_helper/routes_helper.rb', line 46

def parent_route_already_have_children?
  routes_match_regex?(/#{parent_resource_route_tpl}[\W\w]*do/)
end

#parent_route_exist?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/power_api/generator_helper/routes_helper.rb', line 42

def parent_route_exist?
  routes_match_regex?(/#{parent_resource_route_tpl}/)
end

#resource_route_tpl(actions: [], is_parent: false) ⇒ Object



35
36
37
38
39
40
# File 'lib/power_api/generator_helper/routes_helper.rb', line 35

def resource_route_tpl(actions: [], is_parent: false)
  res = (is_parent ? parent_resource : resource).plural
  line = "resources :#{res}"
  line += ", only: [#{actions.map { |a| ":#{a}" }.join(', ')}]" if actions.any?
  line
end

#routes_line_to_inject_new_versionObject



15
16
17
18
19
# File 'lib/power_api/generator_helper/routes_helper.rb', line 15

def routes_line_to_inject_new_version
  return "routes.draw do\n" if first_version?

  "'/api' do\n"
end

#routes_pathObject



11
12
13
# File 'lib/power_api/generator_helper/routes_helper.rb', line 11

def routes_path
  "config/routes.rb"
end

#version_route_tplObject



29
30
31
32
33
# File 'lib/power_api/generator_helper/routes_helper.rb', line 29

def version_route_tpl
  return first_version_route_tpl if first_version?

  new_version_route_tpl
end