class SvelteOnRails::Configuration
def self.instance
def self.instance @instance ||= new end
def components_folder
def components_folder @configs['components_folder'] end
def components_folder_full
def components_folder_full Pathname.new(frontend_folder_full).join(components_folder.to_s) end
def dist_folder(app_root = nil)
def dist_folder(app_root = nil) rails_root(app_root).join('public', 'svelteDist') end
def frontend_folder
def frontend_folder @configs['frontend_folder'] end
def frontend_folder_full
def frontend_folder_full rails_root.join(@configs['frontend_folder'].to_s) end
def initialize
def initialize @configs = { development: { watch_changes: true, }, test: { watch_changes: true, } } load_yaml_config if defined?(Rails) end
def load_yaml_config
def load_yaml_config begin config_path = Rails.root.join("config", "svelte_on_rails.yml") return unless File.exist?(config_path) rescue return end config_data = YAML.load_file(config_path) if config_data @configs = @configs.merge(config_data) end end
def rails_root(root_url = nil)
def rails_root(root_url = nil) root_url || Rails.root end
def ssr
def ssr rss = @configs['ssr'] if rss == false || rss == :auto rss else true end end
def system_type
def system_type :vite_rails end
def watch_changes?
def watch_changes? if @configs[Rails.env] @configs[Rails.env]['watch_changes'] == true else false end end