class StringEnumerate::Generators::InstallGenerator

Public Instance Methods

create_constant() click to toggle source
# File lib/generators/string_enumerate/install_generator.rb, line 14
def create_constant
  write_to_file(
    file: 'config/environment.rb',
    line: 'Rails.application.initialize!',
    content_before: "MODELS = AppEnvConfig.get('models', false)",
    shift: "\n" * 2
  )
end
create_yml() click to toggle source
# File lib/generators/string_enumerate/install_generator.rb, line 10
def create_yml
  create_file 'config/models.yml'
end

Protected Instance Methods

file_contain_content?(options = {}) click to toggle source
# File lib/generators/string_enumerate/install_generator.rb, line 25
def file_contain_content?(options = {})
  file_content = File.read(options[:file])

  (options[:content_before].blank? || file_content.include?(options[:content_before])) &&
    (options[:content_after].blank? || file_content.include?(options[:content_after]))
end
write_to_file(options = {}) click to toggle source
# File lib/generators/string_enumerate/install_generator.rb, line 32
def write_to_file(options = {})
  return if file_contain_content?(options)

  gsub_file options[:file], /(#{Regexp.escape(options[:line])})/mi do |match|
    [
      options[:content_before].presence,
      match,
      options[:content_after].presence
    ].compact.join(options.fetch(:shift, "\n"))
  end
end