Class: RailsMarkup::Cli::InitializerWriter

Inherits:
Object
  • Object
show all
Defined in:
lib/rails_markup/cli/initializer_writer.rb

Overview

Reads/writes config/initializers/rails_markup.rb with upsert semantics. Handles toolbar_accent, toolbar_position, toolbar_size, enable_screenshots, toolbar_enabled, fab_visible.

Constant Summary collapse

MANAGED_KEYS =
%w[toolbar_accent toolbar_position toolbar_size enable_screenshots toolbar_enabled fab_visible].freeze

Instance Method Summary collapse

Constructor Details

#initialize(dir: Dir.pwd) ⇒ InitializerWriter

Returns a new instance of InitializerWriter.



13
14
15
# File 'lib/rails_markup/cli/initializer_writer.rb', line 13

def initialize(dir: Dir.pwd)
  @path = File.join(dir, "config", "initializers", "rails_markup.rb")
end

Instance Method Details

#write(**options) ⇒ Object



17
18
19
20
21
22
23
# File 'lib/rails_markup/cli/initializer_writer.rb', line 17

def write(**options)
  content = File.exist?(@path) ? File.read(@path) : template
  options.each do |key, value|
    content = upsert_config(content, key.to_s, value)
  end
  File.write(@path, content)
end