evertils-common 0.2.3 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 55f98d71c726fe328edf1cd9afc5fe71aa678d65
4
- data.tar.gz: 5a8bdee47ddbac8cfd9370480971f0aab53092b7
3
+ metadata.gz: 8ece5b1508dd87b93750415035bd7aeb57b73b2b
4
+ data.tar.gz: b399fec366af5f05baabeb5cb7de6269003cf829
5
5
  SHA512:
6
- metadata.gz: 760523007351137521e1e876dd1151328ec79bdcf33b078a647771024d77cf5ae02df8f02959f38f0d3c4e2a39f4933f55a4cf5492841aad736898438d0593d8
7
- data.tar.gz: 1684ae80af5fdc7c1e75534802603583ac7d82d7567d66c555eb3cb121c87c2aab3c2f64704f0a3ef75586a19db23771e0632f30f4320754ed6e4e0ee4250c8b
6
+ metadata.gz: 3b2db29191840e3ff064062c6ddc5008647d6fef9912922315e4ad828911b674a3393ed8cb3b4c44f9df571e3585feaf04b6e097cf83b019274a820753dad4d9
7
+ data.tar.gz: a25b1523b621c672bc396ce5af21a449ffa56fe589afe5f3ecbdee72fca8d3275aff4ebc49dfbe4ebba570d7301e97cba18a6dbe5837cb7975cc13c6df446d68
@@ -101,7 +101,31 @@ module Evertils
101
101
  end
102
102
 
103
103
  def destroy(name)
104
+ note = find(name).guid
104
105
 
106
+ @evernote.deleteNote(Evertils::Common::EVERNOTE_DEVELOPER_TOKEN, note)
107
+ end
108
+
109
+ def expunge(name)
110
+ note = find(name).guid
111
+
112
+ @evernote.expungeNote(Evertils::Common::EVERNOTE_DEVELOPER_TOKEN, note)
113
+ end
114
+
115
+ def find(name)
116
+ filter = ::Evernote::EDAM::NoteStore::NoteFilter.new
117
+ filter.words = name
118
+
119
+ result = ::Evernote::EDAM::NoteStore::NotesMetadataResultSpec.new
120
+ result.includeTitle = true
121
+ result.includeUpdated = true
122
+ result.includeTagGuids = true
123
+
124
+ result = @evernote.findNotesMetadata(Evertils::Common::EVERNOTE_DEVELOPER_TOKEN, filter, 0, 1, result)
125
+
126
+ if result.totalNotes == 1
127
+ result.notes[0]
128
+ end
105
129
  end
106
130
 
107
131
  private
@@ -16,35 +16,12 @@ module Evertils
16
16
  notebooks = Notebooks.new.all
17
17
 
18
18
  notebooks.each do |notebook|
19
- if notebook.name == name.to_s.capitalize
19
+ if notebook.name == name.to_s
20
20
  @notebook = notebook
21
21
  end
22
22
  end
23
-
24
- @notebook
25
- end
26
23
 
27
- def create_from_yml(full_path)
28
- begin
29
- if File.exists? full_path
30
- conf = YAML::load(File.open(full_path))
31
- required = %w(name children)
32
-
33
- if has_required_fields(conf, required)
34
- if !conf["children"].nil?
35
- conf["children"].each do |name|
36
- create(name, conf["name"])
37
- end
38
- end
39
- else
40
- raise ArgumentError, 'Configuration file is missing some required fields'
41
- end
42
- else
43
- raise ArgumentError, "File not found: #{full_path}"
44
- end
45
- rescue ArgumentError => e
46
- puts e.message
47
- end
24
+ @notebook
48
25
  end
49
26
 
50
27
  def create(name, stack = nil)
@@ -59,19 +36,16 @@ module Evertils
59
36
  @evernote.createNotebook(Evertils::Common::EVERNOTE_DEVELOPER_TOKEN, notebook)
60
37
  end
61
38
 
62
- def destroy()
39
+ def expunge(name)
40
+ nb = find(name)
63
41
 
42
+ @evernote.expungeNotebook(Evertils::Common::EVERNOTE_DEVELOPER_TOKEN, nb.guid)
64
43
  end
65
44
 
66
45
  def notes(guid = nil)
67
46
  filter = ::Evernote::EDAM::NoteStore::NoteFilter.new
68
47
  filter.notebookGuid = @notebook.guid
69
48
 
70
- result = ::Evernote::EDAM::NoteStore::NotesMetadataResultSpec.new
71
- result.includeTitle = true
72
- result.includeUpdated = true
73
- result.includeTagGuids = true
74
-
75
49
  notes = Notes.new
76
50
  notes.find(nil, @notebook.guid)
77
51
  end
@@ -15,6 +15,39 @@ module Evertils
15
15
  @evernote.listNotebooks(Evertils::Common::EVERNOTE_DEVELOPER_TOKEN)
16
16
  end
17
17
 
18
+ def create_from_yml(full_path)
19
+ begin
20
+ nb = Notebook.new
21
+
22
+ if File.exists? full_path
23
+ conf = YAML::load(File.open(full_path))
24
+ required = %w(notebooks)
25
+
26
+ if has_required_fields(conf, required)
27
+ if !conf["notebooks"].nil?
28
+ conf["notebooks"].each do |name|
29
+ nb.create(name)
30
+ end
31
+ end
32
+ else
33
+ raise ArgumentError, 'Configuration file is missing some required fields'
34
+ end
35
+ else
36
+ raise ArgumentError, "File not found: #{full_path}"
37
+ end
38
+ rescue ArgumentError => e
39
+ puts e.message
40
+ end
41
+ end
42
+
43
+ private
44
+
45
+ def has_required_fields(hash, required)
46
+ hash.keys.each do |key|
47
+ required.include? key
48
+ end
49
+ end
50
+
18
51
  end
19
52
  end
20
53
  end
@@ -0,0 +1,50 @@
1
+ require 'evertils/common/authentication'
2
+
3
+ module Evertils
4
+ module Common
5
+ module Entity
6
+ class Stack
7
+
8
+ def initialize
9
+ @evernote = Authentication.new.store
10
+
11
+ self
12
+ end
13
+
14
+ def create_from_yml(full_path)
15
+ begin
16
+ nb = Notebook.new
17
+
18
+ if File.exists? full_path
19
+ conf = YAML::load(File.open(full_path))
20
+ required = %w(name children)
21
+
22
+ if has_required_fields(conf, required)
23
+ if !conf["children"].nil?
24
+ conf["children"].each do |name|
25
+ nb.create(name, conf["name"])
26
+ end
27
+ end
28
+ else
29
+ raise ArgumentError, 'Configuration file is missing some required fields'
30
+ end
31
+ else
32
+ raise ArgumentError, "File not found: #{full_path}"
33
+ end
34
+ rescue ArgumentError => e
35
+ puts e.message
36
+ end
37
+ end
38
+
39
+ private
40
+
41
+ def has_required_fields(hash, required)
42
+ hash.keys.each do |key|
43
+ required.include? key
44
+ end
45
+ end
46
+
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,41 @@
1
+ require 'evertils/common/authentication'
2
+
3
+ module Evertils
4
+ module Common
5
+ module Entity
6
+ class Tag
7
+
8
+ def initialize
9
+ @evernote = Authentication.new.store
10
+
11
+ self
12
+ end
13
+
14
+ def find(name)
15
+ tags = Tags.new.all
16
+
17
+ tags.each do |tag|
18
+ if tag.name == name.to_s
19
+ return tag
20
+ end
21
+ end
22
+
23
+ end
24
+
25
+ def create(name)
26
+ tag = ::Evernote::EDAM::Type::Tag.new
27
+ tag.name = name
28
+
29
+ @evernote.createTag(Evertils::Common::EVERNOTE_DEVELOPER_TOKEN, tag)
30
+ end
31
+
32
+ def expunge(name)
33
+ tag = find(name)
34
+
35
+ @evernote.expungeTag(Evertils::Common::EVERNOTE_DEVELOPER_TOKEN, tag.guid)
36
+ end
37
+
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,21 @@
1
+ require 'evertils/common/authentication'
2
+
3
+ module Evertils
4
+ module Common
5
+ module Entity
6
+ class Tags
7
+
8
+ def initialize
9
+ @evernote = Authentication.new.store
10
+
11
+ self
12
+ end
13
+
14
+ def all
15
+ @evernote.listTags(Evertils::Common::EVERNOTE_DEVELOPER_TOKEN)
16
+ end
17
+
18
+ end
19
+ end
20
+ end
21
+ end
@@ -1,10 +1,12 @@
1
1
  require 'yaml'
2
2
  require 'evertils/common/enml'
3
3
  require 'evertils/common/results_helper'
4
- require 'evertils/common/entity/notebooks'
5
4
  require 'evertils/common/entity/notebook'
5
+ require 'evertils/common/entity/notebooks'
6
6
  require 'evertils/common/entity/notes'
7
7
  require 'evertils/common/entity/note'
8
+ require 'evertils/common/entity/tag'
9
+ require 'evertils/common/entity/tags'
8
10
 
9
11
  module Evertils
10
12
  module Common
@@ -15,7 +17,8 @@ module Evertils
15
17
  end
16
18
 
17
19
  def tags
18
- @evernote.store.listTags(Evertils::Common::EVERNOTE_DEVELOPER_TOKEN)
20
+ tags = Entity::Tags.new
21
+ tags.all
19
22
  end
20
23
 
21
24
  def notebook_by_name(name)
@@ -30,8 +33,8 @@ module Evertils
30
33
  end
31
34
 
32
35
  def create_stack_from(full_path)
33
- nb = Entity::Notebook.new
34
- nb.create_from_yml(full_path)
36
+ stack = Entity::Stack.new
37
+ stack.create_from_yml(full_path)
35
38
  end
36
39
 
37
40
  def create_note_from(full_path)
@@ -39,6 +42,11 @@ module Evertils
39
42
  note.create_from_yml(full_path)
40
43
  end
41
44
 
45
+ def create_notebook_from(full_path)
46
+ nb = Entity::Notebook.new
47
+ nb.create_from_yml(full_path)
48
+ end
49
+
42
50
  def create_notebook(name, stack = nil)
43
51
  nb = Entity::Notebook.new
44
52
  nb.create(name, stack)
@@ -1,5 +1,5 @@
1
1
  module Evertils
2
2
  module Common
3
- VERSION = "0.2.3"
3
+ VERSION = "0.2.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evertils-common
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.3
4
+ version: 0.2.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Priebe
@@ -90,6 +90,9 @@ files:
90
90
  - lib/evertils/common/entity/notebook.rb
91
91
  - lib/evertils/common/entity/notebooks.rb
92
92
  - lib/evertils/common/entity/notes.rb
93
+ - lib/evertils/common/entity/stack.rb
94
+ - lib/evertils/common/entity/tag.rb
95
+ - lib/evertils/common/entity/tags.rb
93
96
  - lib/evertils/common/evernote.rb
94
97
  - lib/evertils/common/results_helper.rb
95
98
  - lib/evertils/common/version.rb