Sha256: a071444befc427513ad985edaa74ee0625df1fb097ac1b062cb2d58cbcfe22ca

Contents?: true

Size: 1.16 KB

Versions: 1

Compression:

Stored size: 1.16 KB

Contents

# frozen_string_literal: true

module Evertils
  module Controller
    class Render < Controller::Base
      def from_file
        set_allowed_fields

        execute_action(@allowed_fields[:action])
      end

      def execute_action(action)
        case action
        when nil
          Notify.info 'Action not provided, creating new note...'
          Action::Create.new(@allowed_fields)
        when 'create'
          Action::Create.new(@allowed_fields)
        when 'duplicate_previous'
          Action::DuplicatePrevious.new(@allowed_fields)
        else
          Action::Default.new(action: action)
        end
      end

      private

      def set_allowed_fields
        @allowed_fields = config.translate_placeholders.pluck(
          :title,
          :title_format,
          :notebook,
          :path,
          :action,
          :tags
        )
      end

      def grammar
        terms = Grammar.new
        terms.notebook = @allowed_fields[:notebook]
        terms.tags = {
          day: Date.today.yday,
          week: Date.today.cweek
        }
        terms.created = Date.new(Date.today.year, 1, 1).strftime('%Y%m%d')
        terms
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
evertils-2.0.2 lib/evertils/controllers/render.rb