Sha256: 07aae670899b4889566ea19cacde71020ee87e37a180d94b7b7b42badf6beb65

Contents?: true

Size: 961 Bytes

Versions: 2

Compression:

Stored size: 961 Bytes

Contents

# frozen_string_literal: true

module Evertils
  module Action
    class DuplicatePrevious < Action::Base
      def initialize(args)
        super(args)

        @args.content = previous_note_content

        query = Evertils::Common::Query::Simple.new
        query.create_note_from_hash(@args.to_h)
      end

      private

      def previous_note_content
        helper = Evertils::Helper::Note.instance
        note = helper.wait_for_with_grammar(grammar)

        @api.convert_to_xml(note.entity.content).prepare
      end

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

      def week
        this_week = Date.today.cweek

        return this_week - 1 if Date.today.monday?

        this_week
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
evertils-2.3.4 lib/evertils/actions/duplicate_previous.rb
evertils-2.3.3 lib/evertils/actions/duplicate_previous.rb