Class: ENUtils::NoteFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/evernote_utils/filter.rb

Constant Summary collapse

OrderFields =

created: 1, updated: 2, relevance: 3, update_sequence_number: 4, title: 5

Evernote::EDAM::Type::NoteSortOrder::VALUE_MAP.reduce({}){|accum, pair|
  accum.merge(pair.last.downcase.to_sym => pair.first)
}

Class Method Summary collapse

Class Method Details

.available_order?(value) ⇒ Boolean

Returns:

  • (Boolean)


19
20
21
22
# File 'lib/evernote_utils/filter.rb', line 19

def self.available_order?(value)
  return false if value.nil?
  OrderFields.keys.include?(value.to_sym)
end

.build(core, o = {}) ⇒ Object



9
10
11
12
13
14
15
16
17
# File 'lib/evernote_utils/filter.rb', line 9

def self.build(core, o={})
  filter = Evernote::EDAM::NoteStore::NoteFilter.new
  filter.notebookGuid = notebook_guid(core, o[:notebook]) if o[:notebook]
  filter.tagGuids  = tag_guids(core, tag: o[:tag], tags: o[:tags]) if o[:tag] || o[:tags]
  filter.words     = o[:words] if o[:words]
  filter.order     = OrderFields[o[:order].to_sym] if available_order?(o[:order])
  filter.ascending = o[:asc] if o[:asc]
  filter
end