module Madmin::GeneratorHelpers
Constants
- ROUTES_FILE
Public Instance Methods
call_generator(generator, *args)
click to toggle source
# File lib/madmin/generator_helpers.rb, line 5 def call_generator(generator, *args) Rails::Generators.invoke(generator, args, generator_options) end
optimize_indentation(value, amount = 0)
click to toggle source
Method copied from Rails 6.1 master
# File lib/madmin/generator_helpers.rb, line 32 def optimize_indentation(value, amount = 0) return "#{value}\n" unless value.is_a?(String) "#{value.strip_heredoc.indent(amount).chomp}\n" end
rails6_1_and_up?()
click to toggle source
# File lib/madmin/generator_helpers.rb, line 13 def rails6_1_and_up? Gem.loaded_specs["rails"].version >= Gem::Version.new(6.1) end
route(routing_code, namespace: nil, sentinel: nil, indentation: 2, file: default_routes_file)
click to toggle source
Method copied from Rails 6.1 master
# File lib/madmin/generator_helpers.rb, line 18 def route(routing_code, namespace: nil, sentinel: nil, indentation: 2, file: default_routes_file) routing_code = Array(namespace).reverse.reduce(routing_code) { |code, ns| "namespace :#{ns} do\n#{indent(code, 2)}\nend" } log :route, routing_code sentinel ||= default_sentinel(file) in_root do inject_into_file file, optimize_indentation(routing_code, indentation), after: sentinel, verbose: false, force: false end end
route_namespace_exists?()
click to toggle source
# File lib/madmin/generator_helpers.rb, line 9 def route_namespace_exists? File.readlines(Rails.root.join(default_routes_file)).grep(/namespace :madmin/).size > 0 end
Private Instance Methods
default_routes_file()
click to toggle source
# File lib/madmin/generator_helpers.rb, line 47 def default_routes_file rails6_1_and_up? ? ROUTES_FILE[:separated] : ROUTES_FILE[:default] end
default_sentinel(file)
click to toggle source
# File lib/madmin/generator_helpers.rb, line 43 def default_sentinel(file) file.eql?(ROUTES_FILE[:default]) ? /\.routes\.draw do\s*\n/m : /namespace :madmin do\s*\n/m end
generator_options()
click to toggle source
# File lib/madmin/generator_helpers.rb, line 51 def generator_options {behavior: behavior} end
separated_routes_file?()
click to toggle source
# File lib/madmin/generator_helpers.rb, line 39 def separated_routes_file? default_routes_file.eql?(ROUTES_FILE[:separated]) end