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