Sha256: f67bb4ebd5de9910708c8a6f0325af8a0af03f02d9a5f0352191c9b338a0fc0a

Contents?: true

Size: 1.33 KB

Versions: 15

Compression:

Stored size: 1.33 KB

Contents

module Evertils
  module Type
    class Base
      attr_reader :title, :content, :notebook

      COLOUR = 0xffffff
      MAX_SEARCH_SIZE = 11

      #
      # @since 0.3.7
      def initialize(config, *args)
        # helpers
        @note_helper = Evertils::Helper.load('Note')
        @format = Evertils::Helper.load('Formatting')

        @config = config
        @api = Evertils::Helper.load('ApiEnmlHandler', @config)
        @args = args unless args.size.zero?
      end

      #
      # @since 0.3.7
      def create
        data = {
          title: @title,
          body: @content.to_s.delete("\n"),
          parent_notebook: self.class::NOTEBOOK,
          tags: tags || [],
          colour: self.class::COLOUR
        }

        raise 'Invalid title' if @title.nil?
        raise 'Invalid note content' if @content.nil?
        raise 'Invalid notebook' if self.class::NOTEBOOK.nil?

        @note_helper.create_note(data)
      end

      #
      # @since 0.3.7
      def should_create?
        @note = @note_helper.find_note(self.class::NOTEBOOK)
        @entity = @note.entity
        result = @entity.nil?

        Notify.warning "#{self.class.name} skipped, note already exists" unless result

        result
      end

      #
      # @since 0.3.15
      def morning_note?
        !caller.grep(/morning/).empty?
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
evertils-1.0.12 lib/evertils/type.rb
evertils-1.0.11 lib/evertils/type.rb
evertils-1.0.10 lib/evertils/type.rb
evertils-1.0.9 lib/evertils/type.rb
evertils-1.0.8 lib/evertils/type.rb
evertils-1.0.7 lib/evertils/type.rb
evertils-1.0.6 lib/evertils/type.rb
evertils-1.0.5 lib/evertils/type.rb
evertils-1.0.4 lib/evertils/type.rb
evertils-1.0.3 lib/evertils/type.rb
evertils-1.0.2 lib/evertils/type.rb
evertils-1.0.1 lib/evertils/type.rb
evertils-1.0.0 lib/evertils/type.rb
evertils-0.4.0 lib/evertils/type.rb
evertils-0.3.27 lib/evertils/type.rb