Sha256: 7210ddaf51466cc91ea7c8745e0c53f661876857e95848ff4b4dc644ac2c8a0f

Contents?: true

Size: 1.75 KB

Versions: 5

Compression:

Stored size: 1.75 KB

Contents

# frozen_string_literal: true

require 'time'
require 'shellwords'
require 'json'
require 'yaml'
require 'chronic'
require 'fileutils'

require_relative 'journal-cli/version'
require_relative 'journal-cli/data'
require_relative 'journal-cli/weather'
require_relative 'journal-cli/checkin'
require_relative 'journal-cli/sections'
require_relative 'journal-cli/section'
require_relative 'journal-cli/question'

# Main Journal module
module Journal
  class << self
    def config
      unless @config
        config = File.expand_path('~/.config/journal/journals.yaml')
        unless File.exist?(config)
          default_config = {
            'weather_api' => 'XXXXXXXXXXXXXXXXXx',
            'zip' => 'XXXXX',
            'entries_folder' => '~/.local/share/journal/',
            'journals' => {
              'demo' => {
                'dayone' => false,
                'markdown' => 'single',
                'title' => '5-minute checkin',
                'entries_folder' => '~/.local/share/journal/',
                'sections' => [
                  { 'title' => 'Quick checkin',
                    'key' => 'checkin',
                    'questions' => [
                      { 'prompt' => 'What\'s happening?', 'key' => 'journal', 'type' => 'multiline' }
                    ] }
                ]
              }
            }
          }
          File.open(config, 'w') { |f| f.puts(YAML.dump(default_config)) }
          puts "New configuration written to #{config}, please edit."
          Process.exit 0
        end
        @config = YAML.load(IO.read(config))

        if @config['journals'].key?('demo')
          puts "Demo journal detected, please edit the configuration file at #{config}"
          Process.exit 1
        end
      end

      @config
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
journal-cli-1.0.17 lib/journal-cli.rb
journal-cli-1.0.16 lib/journal-cli.rb
journal-cli-1.0.15 lib/journal-cli.rb
journal-cli-1.0.14 lib/journal-cli.rb
journal-cli-1.0.13 lib/journal-cli.rb