class Trestle::Auth::Generators::InstallGenerator
Public Instance Methods
check_trestle_installed()
click to toggle source
# File lib/generators/trestle/auth/install/install_generator.rb, line 14 def check_trestle_installed unless ::File.exist?("config/initializers/trestle.rb") raise Thor::Error, "The file config/initializers/trestle.rb does not appear to exist. Please run `trestle:install` first." end end
configuration_template()
click to toggle source
# File lib/generators/trestle/auth/install/install_generator.rb, line 42 def configuration_template devise? ? "devise.rb.erb" : "basic.rb.erb" end
devise?()
click to toggle source
# File lib/generators/trestle/auth/install/install_generator.rb, line 38 def devise? options[:devise] end
generate_account()
click to toggle source
# File lib/generators/trestle/auth/install/install_generator.rb, line 34 def generate_account generate "trestle:auth:account", model, ("--devise" if devise?) unless options[:skip_account] end
generate_admin()
click to toggle source
# File lib/generators/trestle/auth/install/install_generator.rb, line 30 def generate_admin generate "trestle:auth:admin", model, ("--devise" if devise?) end
generate_model()
click to toggle source
# File lib/generators/trestle/auth/install/install_generator.rb, line 26 def generate_model generate "trestle:auth:model", model unless devise? end
insert_configuration()
click to toggle source
# File lib/generators/trestle/auth/install/install_generator.rb, line 20 def insert_configuration inject_into_file "config/initializers/trestle.rb", before: /^end/ do format_configuration(template_content(configuration_template)) end end
Private Instance Methods
capturable_erb(path)
click to toggle source
# File lib/generators/trestle/auth/install/install_generator.rb, line 60 def capturable_erb(path) match = ERB.version.match(/(\d+\.\d+\.\d+)/) if match && match[1] >= "2.2.0" # Ruby 2.6+ CapturableERB.new(::File.binread(path), trim_mode: "-", eoutvar: "@output_buffer") else CapturableERB.new(::File.binread(path), nil, "-", "@output_buffer") end end
format_configuration(source)
click to toggle source
# File lib/generators/trestle/auth/install/install_generator.rb, line 47 def format_configuration(source) "\n#{source.indent(2)}\n" end
template_content(path, options={})
click to toggle source
# File lib/generators/trestle/auth/install/install_generator.rb, line 51 def template_content(path, options={}) path = File.expand_path(find_in_source_paths(path.to_s)) context = options.delete(:context) || instance_eval("binding") content = capturable_erb(path).tap do |erb| erb.filename = path end.result(context) end