Sha256: 45077fcd005862fa433e0c1e84c2d326d4fd046b7fe2296a659b9f03c3b6bae2

Contents?: true

Size: 1.63 KB

Versions: 2

Compression:

Stored size: 1.63 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',
            'journals' => {
              'demo' => {
                'dayone' => false,
                'markdown' => 'single',
                'title' => '5-minute checkin',
                '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

2 entries across 2 versions & 1 rubygems

Version Path
journal-cli-1.0.12 lib/journal-cli.rb
journal-cli-1.0.11 lib/journal-cli.rb