Sha256: 9561acaff520a2916db98e500a4bda269ad7e0524a5ed5f36cc63a9c442568df

Contents?: true

Size: 1.46 KB

Versions: 4

Compression:

Stored size: 1.46 KB

Contents

module Evertils
  module Helper
    class Note
      attr_reader :model

      # Create the Note object
      def initialize
        @model = Evertils::Common::Query::Simple.new
        @format = Evertils::Helper.load('Formatting')
        @user = @model.user_info[:user]
        @shard = @model.user_info[:shard]
      end

      # Wait for a note to exist
      def wait_for(notebook)
        Notify.info("Waiting for #{notebook}...")
        note = find_note(notebook)

        begin
          # didn't find it the first time?  wait and try again
          if note.entity.nil?
            (1..Evertils::Type::Base::MAX_SEARCH_SIZE).each do |iter|
              Notify.info(" (#{iter}) #{notebook}")
              note = find_note(notebook, true)
              break unless note.entity.nil? || iter == Evertils::Type::Base::MAX_SEARCH_SIZE
            end
          end
        rescue Interrupt
          Notify.warning('Cancelled wait')
        end

        note
      end

      # Find a note
      def find_note(notebook, sleep = false)
        sleep(5) if sleep
        title = @format.date_templates[notebook]
        @model.find_note_contents(title)
      end
      alias find_by_notebook find_note

      #
      # @since 0.3.15
      def internal_url_for(note)
        "evernote:///view/#{@user[:id]}/#{@shard}/#{note.guid}/#{note.guid}/"
      end

      # Create a note
      def create(data)
        @model.create_note(data)
      end
      alias create_note create
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
evertils-0.4.0 lib/evertils/helpers/note.rb
evertils-0.3.27 lib/evertils/helpers/note.rb
evertils-0.3.26 lib/evertils/helpers/note.rb
evertils-0.3.25 lib/evertils/helpers/note.rb