Module: ShouldaMatchmakers::Controller::ActionController::ActionControllerControllerSmModelHelper

Included in:
ActionControllerControllerSmModel
Defined in:
lib/controller/action_controller/action_controller_controller_sm_model_helper.rb

Instance Method Summary collapse

Instance Method Details

#append_element(element, element_set) ⇒ Object



35
36
37
38
39
40
# File 'lib/controller/action_controller/action_controller_controller_sm_model_helper.rb', line 35

def append_element(element, element_set)
  if element.present?
    element_set << element
  end
  element_set
end

#compose_extended_app_controller_file_path(app_controller_name) ⇒ Object



6
7
8
9
# File 'lib/controller/action_controller/action_controller_controller_sm_model_helper.rb', line 6

def compose_extended_app_controller_file_path(app_controller_name)
  # Rails.root.join("app", "controllers").to_s + "/" + get_controller_file_path(controller).concat(".rb")
  Rails.root.join("app", "controllers").to_s + "/" + app_controller_name.to_s.underscore.concat(".rb")
end

#compose_route_controller(app_controller_name) ⇒ Object



23
24
25
# File 'lib/controller/action_controller/action_controller_controller_sm_model_helper.rb', line 23

def compose_route_controller(app_controller_name)
  app_controller_name.underscore.sub(/_controller$/, "")
end

#containing_method_is_action(app_controller_name, app_controller_action_candidate) ⇒ Object



31
32
33
# File 'lib/controller/action_controller/action_controller_controller_sm_model_helper.rb', line 31

def containing_method_is_action(app_controller_name, app_controller_action_candidate)
  app_controller_name.constantize.instance_methods(false).include?(app_controller_action_candidate.to_sym)
end

#format_tests(tests) ⇒ Object



42
43
44
45
# File 'lib/controller/action_controller/action_controller_controller_sm_model_helper.rb', line 42

def format_tests(tests)
  formatted_tests = properly_line_space_tests(tests)
  formatted_tests.flatten.compact.uniq.join("\n")
end

#get_app_controller_file_path(app_controller_name) ⇒ Object



11
12
13
# File 'lib/controller/action_controller/action_controller_controller_sm_model_helper.rb', line 11

def get_app_controller_file_path(app_controller_name)
  app_controller_name.constantize.controller_path
end

#get_app_controller_routes_by_action(app_controller_name, app_controller_action) ⇒ Object



15
16
17
# File 'lib/controller/action_controller/action_controller_controller_sm_model_helper.rb', line 15

def get_app_controller_routes_by_action(app_controller_name, app_controller_action)
  Rails.application.routes.set.select { |route| route.defaults[:controller] == app_controller_name && route.defaults[:action] == app_controller_action }
end

#get_app_controller_routes_by_path(app_controller_path) ⇒ Object



19
20
21
# File 'lib/controller/action_controller/action_controller_controller_sm_model_helper.rb', line 19

def get_app_controller_routes_by_path(app_controller_path)
  Rails.application.routes.set.select { |route| route.name == app_controller_path.to_s.chomp("_path") }
end

#get_route_http_method(route) ⇒ Object



27
28
29
# File 'lib/controller/action_controller/action_controller_controller_sm_model_helper.rb', line 27

def get_route_http_method(route)
  route.constraints[:request_method].to_s.gsub("(?-mix:^","").gsub("$)","")
end

#properly_line_space_tests(tests) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/controller/action_controller/action_controller_controller_sm_model_helper.rb', line 47

def properly_line_space_tests(tests)
  tests_properly_line_spaced = []
  previous_test = ""
  tests.each do |test|
    if (test.include?("\n") && previous_test.present?) ||
         (!test.include?("\n") && previous_test.include?("\n"))
      test_properly_line_spaced = "\n" + test
    else
      test_properly_line_spaced = test
    end
    tests_properly_line_spaced << test_properly_line_spaced
    previous_test = test
  end
  tests_properly_line_spaced
end