Sha256: 3fdf5c9785c3d0f5321874e89ab660a85abb67f856a7dd0e7a8bdcf894f34d23

Contents?: true

Size: 1.61 KB

Versions: 19

Compression:

Stored size: 1.61 KB

Contents

module Evertils
  module Common
    module Entity
      class Notebooks < Entity::Base
        #
        # @since 0.1.0
        def all
          @evernote.call(:listNotebooks)
        end

        #
        # @since 0.1.0
        def create_from_yml(full_path)
          raise "File not found: #{full_path}" unless File.exist? full_path

          begin
            nb = Notebook.new

            conf = YAML::load(File.open(full_path))
            required = %w(notebooks)

            if has_required_fields(conf, required)
              if !conf["notebooks"].nil?
                conf["notebooks"].each do |name|
                  nb.create(name)
                end
              end
            else
              raise ArgumentError, 'Configuration file is missing some required fields'
            end
          rescue ArgumentError => e
            puts e.message
          rescue Evernote::EDAM::Error::EDAMUserException => e
            puts e.message
          end
        end

        #
        # @since 0.3.2
        def find_by_date_range(start, finish = DateTime.now, period = :created)
          pool = all
          # method is serviceCreated/serviceUpdated
          period = "service#{period.to_s.capitalize_first_char}"

          pool.select do |book|
            f = finish.to_time.to_i
            s = start.to_time.to_i
            b = book_date(book, period).to_time.to_i

            b <= f && b >= s
          end
        end

        private

        #
        # @since 0.3.2
        def book_date(book, period)
          DateTime.strptime(book.send(period).to_s[0...-3], '%s')
        end
      end
    end
  end
end

Version data entries

19 entries across 19 versions & 1 rubygems

Version Path
evertils-common-0.3.18 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.17 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.16 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.15 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.14 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.13 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.12 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.11 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.10 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.9 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.8 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.7 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.6 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.5 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.4.1 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.4 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.4.1.pre.dev lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.3.1 lib/evertils/common/entity/notebooks.rb
evertils-common-0.3.3 lib/evertils/common/entity/notebooks.rb