evertils-common 0.3.0 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/evertils/common.rb +1 -0
- data/lib/evertils/common/authentication.rb +108 -43
- data/lib/evertils/common/converter.rb +4 -2
- data/lib/evertils/common/entity.rb +5 -3
- data/lib/evertils/common/entity/note.rb +4 -12
- data/lib/evertils/common/entity/notebook.rb +1 -7
- data/lib/evertils/common/entity/notebooks.rb +2 -0
- data/lib/evertils/common/entity/notes.rb +10 -12
- data/lib/evertils/common/manager.rb +4 -2
- data/lib/evertils/common/manager/note.rb +16 -0
- data/lib/evertils/common/manager/notebook.rb +2 -0
- data/lib/evertils/common/manager/tag.rb +16 -0
- data/lib/evertils/common/query.rb +4 -2
- data/lib/evertils/common/query/simple.rb +35 -23
- data/lib/evertils/common/version.rb +1 -1
- data/lib/evertils/test/base.rb +18 -30
- data/lib/evertils/test/seed/note.yml +3 -0
- data/lib/evertils/test/seed/notebooks.yml +4 -0
- data/lib/evertils/test/seed/stack.yml +7 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c5c3bbd18a393a156658617c52141aac0f240d20
|
4
|
+
data.tar.gz: 3a2c99ccf274dd74564e4455ad99da612a5d8aeb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4dfe0cb7e60bdf8df02e1310476bb651bd70fa4209bc6dfae4ddf97d02d8b1e2c9dcf362fa5d8f1e585a31967725a1c13a63ba58a429a7624d0b33ddb7deb4ef
|
7
|
+
data.tar.gz: 1da86f2c6fed45d76ba2a7a241c93dcc5828aa4cc29d949708fe270fbeb6e546559708f41185d993e3ef57ccdbaa8e4b1991ce03d73f003d7672b82631118c6f
|
data/lib/evertils/common.rb
CHANGED
@@ -1,76 +1,141 @@
|
|
1
|
+
require 'singleton'
|
2
|
+
|
1
3
|
module Evertils
|
2
4
|
module Common
|
3
5
|
class Authentication
|
4
6
|
include Singleton
|
5
7
|
|
6
|
-
attr_accessor :store, :shardId, :version
|
7
|
-
|
8
8
|
def initialize
|
9
9
|
begin
|
10
|
-
|
11
|
-
|
12
|
-
end
|
13
|
-
|
14
|
-
userStoreUrl = "https://#{Evertils.host}/edam/user"
|
15
|
-
|
16
|
-
userStoreTransport = Thrift::HTTPClientTransport.new(userStoreUrl)
|
17
|
-
userStoreProtocol = Thrift::BinaryProtocol.new(userStoreTransport)
|
18
|
-
@@user = ::Evernote::EDAM::UserStore::UserStore::Client.new(userStoreProtocol)
|
19
|
-
|
20
|
-
if Evertils.is_test?
|
21
|
-
puts "TEST USER: #{info[:user]}"
|
22
|
-
end
|
23
|
-
|
24
|
-
versionOK = @@user.checkVersion("evernote-data", ::Evernote::EDAM::UserStore::EDAM_VERSION_MAJOR, ::Evernote::EDAM::UserStore::EDAM_VERSION_MINOR)
|
25
|
-
|
26
|
-
@version = "#{::Evernote::EDAM::UserStore::EDAM_VERSION_MAJOR}.#{::Evernote::EDAM::UserStore::EDAM_VERSION_MINOR}"
|
27
|
-
@shardId = user.shardId
|
28
|
-
|
29
|
-
if !versionOK
|
30
|
-
Notify.error("Evernote API requires an update. Latest version is #{@version}")
|
31
|
-
end
|
10
|
+
# attempt to login as the Evernote user
|
11
|
+
prepare_user
|
32
12
|
|
33
|
-
|
13
|
+
# quit with message if requirements not met
|
14
|
+
Notify.error("Evernote developer token is not configured properly!\n$EVERTILS_TOKEN == nil") if Evertils.token.nil?
|
15
|
+
Notify.error("Evernote API requires an update. Latest version is #{@version}") if requires_update
|
34
16
|
|
35
|
-
|
36
|
-
|
37
|
-
@store = ::Evernote::EDAM::NoteStore::NoteStore::Client.new(noteStoreProtocol)
|
17
|
+
# prepare the main data model access point
|
18
|
+
prepare_note_store
|
38
19
|
rescue Evernote::EDAM::Error::EDAMSystemException => e
|
39
|
-
|
40
|
-
|
41
|
-
case e.errorCode
|
42
|
-
when 19
|
43
|
-
minutes = (e.rateLimitDuration/60).to_i
|
44
|
-
Notify.warning("You are rate limited! Wait #{minutes} minutes")
|
45
|
-
exit(0)
|
46
|
-
end
|
20
|
+
handle_edam_errors(e)
|
47
21
|
end
|
48
22
|
end
|
49
23
|
|
50
24
|
def info
|
51
25
|
{
|
52
|
-
:user => "#{user.name} (#{user.username}) - ID##{user.id}",
|
53
|
-
:shard => user.shardId,
|
26
|
+
:user => "#{@user.name} (#{@user.username}) - ID##{@user.id}",
|
27
|
+
:shard => @user.shardId,
|
54
28
|
:api_version => @version,
|
55
29
|
}
|
56
30
|
end
|
57
31
|
|
58
|
-
def
|
59
|
-
|
32
|
+
def call(func, *args)
|
33
|
+
begin
|
34
|
+
if args.size > 0
|
35
|
+
@noteStore.method(func.to_s).call(Evertils.token, *args)
|
36
|
+
else
|
37
|
+
@noteStore.method(func.to_s).call(Evertils.token)
|
38
|
+
end
|
39
|
+
rescue Evernote::EDAM::Error::EDAMSystemException => e
|
40
|
+
Notify.warning e.inspect
|
41
|
+
nil
|
42
|
+
end
|
60
43
|
end
|
61
44
|
|
62
|
-
def
|
45
|
+
def call_user(func, *args)
|
63
46
|
begin
|
64
47
|
if args.size > 0
|
65
|
-
@
|
48
|
+
@userStore.method(func.to_s).call(*args)
|
66
49
|
else
|
67
|
-
@
|
50
|
+
@userStore.method(func.to_s).call
|
68
51
|
end
|
69
52
|
rescue Evernote::EDAM::Error::EDAMSystemException => e
|
70
53
|
Notify.warning e.inspect
|
71
54
|
nil
|
72
55
|
end
|
73
56
|
end
|
57
|
+
|
58
|
+
private
|
59
|
+
|
60
|
+
def prepare_user
|
61
|
+
userStoreUrl = "https://#{Evertils.host}/edam/user"
|
62
|
+
|
63
|
+
userStoreTransport = Thrift::HTTPClientTransport.new(userStoreUrl)
|
64
|
+
userStoreProtocol = Thrift::BinaryProtocol.new(userStoreTransport)
|
65
|
+
@userStore = ::Evernote::EDAM::UserStore::UserStore::Client.new(userStoreProtocol)
|
66
|
+
@user = call_user(:getUser, Evertils.token)
|
67
|
+
|
68
|
+
if Evertils.is_test?
|
69
|
+
Notify.spit "TEST USER: #{info[:user]}"
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
def prepare_note_store
|
74
|
+
noteStoreUrl = call_user(:getNoteStoreUrl, Evertils.token)
|
75
|
+
|
76
|
+
noteStoreTransport = Thrift::HTTPClientTransport.new(noteStoreUrl)
|
77
|
+
noteStoreProtocol = Thrift::BinaryProtocol.new(noteStoreTransport)
|
78
|
+
@noteStore = ::Evernote::EDAM::NoteStore::NoteStore::Client.new(noteStoreProtocol)
|
79
|
+
end
|
80
|
+
|
81
|
+
def requires_update
|
82
|
+
#entity = @userStore.checkVersion("evernote-data", ::Evernote::EDAM::UserStore::EDAM_VERSION_MAJOR, ::Evernote::EDAM::UserStore::EDAM_VERSION_MINOR)
|
83
|
+
entity = call_user(:checkVersion, "evernote-data", ::Evernote::EDAM::UserStore::EDAM_VERSION_MAJOR, ::Evernote::EDAM::UserStore::EDAM_VERSION_MINOR)
|
84
|
+
|
85
|
+
@version = "#{::Evernote::EDAM::UserStore::EDAM_VERSION_MAJOR}.#{::Evernote::EDAM::UserStore::EDAM_VERSION_MINOR}"
|
86
|
+
|
87
|
+
!entity
|
88
|
+
end
|
89
|
+
|
90
|
+
def handle_edam_errors(e)
|
91
|
+
Notify.warning("Problem authenticating, EDAM code #{e.errorCode}")
|
92
|
+
|
93
|
+
case e.errorCode
|
94
|
+
when 1
|
95
|
+
message = 'An unknown error occurred'
|
96
|
+
when 2
|
97
|
+
message = 'The format of the request data was incorrect'
|
98
|
+
when 3
|
99
|
+
message = 'Not permitted to perform action'
|
100
|
+
when 4
|
101
|
+
message = 'Unexpected problem with the service'
|
102
|
+
when 5
|
103
|
+
message = 'A required parameter/field was absent'
|
104
|
+
when 6
|
105
|
+
message = 'Operation denied due to data model limit'
|
106
|
+
when 7
|
107
|
+
message = 'Operation denied due to user storage limit'
|
108
|
+
when 8
|
109
|
+
message = 'Username and/or password incorrect'
|
110
|
+
when 9
|
111
|
+
message = 'Authentication token expired'
|
112
|
+
when 10
|
113
|
+
message = 'Change denied due to data model conflict'
|
114
|
+
when 11
|
115
|
+
message = 'Content of submitted note was malformed'
|
116
|
+
when 12
|
117
|
+
message = 'Service shard with account data is temporarily down'
|
118
|
+
when 13
|
119
|
+
message = 'Operation denied due to data model limit, where something such as a string length was too short'
|
120
|
+
when 14
|
121
|
+
message = 'Operation denied due to data model limit, where something such as a string length was too long'
|
122
|
+
when 15
|
123
|
+
message = 'Operation denied due to data model limit, where there were too few of something'
|
124
|
+
when 16
|
125
|
+
message = 'Operation denied due to data model limit, where there were too many of something'
|
126
|
+
when 17
|
127
|
+
message = 'Operation denied because it is currently unsupported'
|
128
|
+
when 18
|
129
|
+
message = 'Operation denied because access to the corresponding object is prohibited in response to a take-down notice'
|
130
|
+
when 19
|
131
|
+
minutes = (e.rateLimitDuration/60).to_i
|
132
|
+
message = "You are rate limited! Wait #{minutes} minutes"
|
133
|
+
end
|
134
|
+
|
135
|
+
Notify.warning(message)
|
136
|
+
exit(0)
|
137
|
+
end
|
138
|
+
|
74
139
|
end
|
75
140
|
end
|
76
141
|
end
|
@@ -5,8 +5,10 @@ module Evertils
|
|
5
5
|
|
6
6
|
#
|
7
7
|
# @since 0.2.8
|
8
|
-
def deprecation_notice(version)
|
9
|
-
|
8
|
+
def deprecation_notice(version, message)
|
9
|
+
output = "Deprecated as of #{version}"
|
10
|
+
output += "\nReason: #{message}" if message
|
11
|
+
output
|
10
12
|
end
|
11
13
|
|
12
14
|
end
|
@@ -3,7 +3,7 @@ module Evertils
|
|
3
3
|
module Entity
|
4
4
|
class Base
|
5
5
|
|
6
|
-
attr_accessor :evernote
|
6
|
+
attr_accessor :evernote, :entity
|
7
7
|
|
8
8
|
def initialize
|
9
9
|
@evernote = Authentication.instance
|
@@ -19,8 +19,10 @@ module Evertils
|
|
19
19
|
|
20
20
|
#
|
21
21
|
# @since 0.2.8
|
22
|
-
def deprecation_notice(version)
|
23
|
-
|
22
|
+
def deprecation_notice(version, message)
|
23
|
+
output = "Deprecated as of #{version}"
|
24
|
+
output += "\nReason: #{message}" if message
|
25
|
+
output
|
24
26
|
end
|
25
27
|
|
26
28
|
#
|
@@ -116,7 +116,7 @@ module Evertils
|
|
116
116
|
#
|
117
117
|
# @since 0.2.0
|
118
118
|
def expunge
|
119
|
-
deprecation_notice('0.2.9')
|
119
|
+
deprecation_notice('0.2.9', 'Replaced with expunge! to better follow Ruby standards for method names. Will be removed in 0.3.5')
|
120
120
|
|
121
121
|
@evernote.call(:expungeNote, @entity.guid)
|
122
122
|
end
|
@@ -127,7 +127,7 @@ module Evertils
|
|
127
127
|
nb = Evertils::Common::Manager::Notebook.new
|
128
128
|
target = nb.find(notebook)
|
129
129
|
|
130
|
-
raise "Notebook not found: #{notebook}" if
|
130
|
+
raise "Notebook not found: #{notebook}" if target.entity.nil?
|
131
131
|
|
132
132
|
@entity.notebookGuid = target.prop(:guid)
|
133
133
|
|
@@ -152,16 +152,14 @@ module Evertils
|
|
152
152
|
@entity = nil
|
153
153
|
|
154
154
|
filter = ::Evernote::EDAM::NoteStore::NoteFilter.new
|
155
|
-
filter.words = name
|
155
|
+
filter.words = "intitle:#{name}"
|
156
156
|
|
157
157
|
spec = ::Evernote::EDAM::NoteStore::NotesMetadataResultSpec.new
|
158
158
|
spec.includeTitle = true
|
159
159
|
|
160
160
|
result = @evernote.call(:findNotesMetadata, filter, 0, 1, spec)
|
161
161
|
|
162
|
-
|
163
|
-
@entity = result.notes[0]
|
164
|
-
end
|
162
|
+
@entity = result.notes.detect { |note| note.title == name }
|
165
163
|
|
166
164
|
self if @entity
|
167
165
|
end
|
@@ -174,12 +172,6 @@ module Evertils
|
|
174
172
|
@evernote.call(:updateNote, @entity)
|
175
173
|
end
|
176
174
|
|
177
|
-
#
|
178
|
-
# @since 0.3.0
|
179
|
-
def entity
|
180
|
-
@entity
|
181
|
-
end
|
182
|
-
|
183
175
|
end
|
184
176
|
end
|
185
177
|
end
|
@@ -67,16 +67,10 @@ module Evertils
|
|
67
67
|
filter = ::Evernote::EDAM::NoteStore::NoteFilter.new
|
68
68
|
filter.notebookGuid = @entity.guid
|
69
69
|
|
70
|
-
notes = Notes.new
|
70
|
+
notes = Notes.new
|
71
71
|
notes.find(nil, @entity.guid)
|
72
72
|
end
|
73
73
|
|
74
|
-
#
|
75
|
-
# @since 0.3.0
|
76
|
-
def entity
|
77
|
-
@entity
|
78
|
-
end
|
79
|
-
|
80
74
|
end
|
81
75
|
end
|
82
76
|
end
|
@@ -14,6 +14,7 @@ module Evertils
|
|
14
14
|
response = @evernote.call(:findNotesMetadata, filter, nil, 300, spec)
|
15
15
|
response.notes
|
16
16
|
end
|
17
|
+
alias_method :find, :find_all
|
17
18
|
|
18
19
|
def find_one(title, notebook = nil)
|
19
20
|
filter = ::Evernote::EDAM::NoteStore::NoteFilter.new
|
@@ -51,15 +52,14 @@ module Evertils
|
|
51
52
|
spec.includeCreated = true
|
52
53
|
|
53
54
|
pool = @evernote.call(:findNotesMetadata, filter, 0, 300, spec)
|
54
|
-
notes_by_date = []
|
55
55
|
|
56
|
-
pool.notes.
|
57
|
-
|
56
|
+
notes_by_date = pool.notes.select do |note|
|
57
|
+
f = finish.to_time.to_i
|
58
|
+
s = start.to_time.to_i
|
59
|
+
n = note_date(note, period).to_time.to_i
|
58
60
|
|
59
|
-
|
61
|
+
n <= f && n >= s
|
60
62
|
end
|
61
|
-
|
62
|
-
notes_by_date
|
63
63
|
end
|
64
64
|
|
65
65
|
#
|
@@ -75,15 +75,13 @@ module Evertils
|
|
75
75
|
spec.includeCreated = true
|
76
76
|
|
77
77
|
pool = @evernote.call(:findNotesMetadata, filter, 0, 300, spec)
|
78
|
-
notes_by_date = []
|
79
78
|
|
80
|
-
pool.notes.
|
81
|
-
|
79
|
+
notes_by_date = pool.notes.select do |note|
|
80
|
+
d = date.to_time.to_i
|
81
|
+
n = note_date(note, period).to_time.to_i
|
82
82
|
|
83
|
-
|
83
|
+
n == d
|
84
84
|
end
|
85
|
-
|
86
|
-
notes_by_date
|
87
85
|
end
|
88
86
|
|
89
87
|
private
|
@@ -25,8 +25,10 @@ module Evertils
|
|
25
25
|
|
26
26
|
#
|
27
27
|
# @since 0.3.0
|
28
|
-
def deprecation_notice(version)
|
29
|
-
|
28
|
+
def deprecation_notice(version, message)
|
29
|
+
output = "Deprecated as of #{version}"
|
30
|
+
output += "\nReason: #{message}" if message
|
31
|
+
output
|
30
32
|
end
|
31
33
|
|
32
34
|
end
|
@@ -8,6 +8,7 @@ module Evertils
|
|
8
8
|
def create(config)
|
9
9
|
entity = Evertils::Common::Entity::Note.new
|
10
10
|
entity.create(config[:name], config[:body], config[:notebook], config[:files], config[:shared], config[:created_on])
|
11
|
+
entity
|
11
12
|
end
|
12
13
|
|
13
14
|
#
|
@@ -15,6 +16,21 @@ module Evertils
|
|
15
16
|
def find(name)
|
16
17
|
entity = Evertils::Common::Entity::Note.new
|
17
18
|
entity.find(name)
|
19
|
+
entity
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# @since 0.3.1
|
24
|
+
def find_or_create(name, stack = nil)
|
25
|
+
search_result = find(name)
|
26
|
+
|
27
|
+
if !search_result
|
28
|
+
note = create(name, stack)
|
29
|
+
else
|
30
|
+
note = search_result
|
31
|
+
end
|
32
|
+
|
33
|
+
note
|
18
34
|
end
|
19
35
|
|
20
36
|
end
|
@@ -8,6 +8,7 @@ module Evertils
|
|
8
8
|
def create(name, stack = nil)
|
9
9
|
entity = Evertils::Common::Entity::Notebook.new
|
10
10
|
entity.create(name, stack)
|
11
|
+
entity
|
11
12
|
end
|
12
13
|
|
13
14
|
#
|
@@ -15,6 +16,7 @@ module Evertils
|
|
15
16
|
def find(name)
|
16
17
|
entity = Evertils::Common::Entity::Notebook.new
|
17
18
|
entity.find(name)
|
19
|
+
entity
|
18
20
|
end
|
19
21
|
|
20
22
|
#
|
@@ -8,6 +8,7 @@ module Evertils
|
|
8
8
|
def create(name)
|
9
9
|
entity = Evertils::Common::Entity::Tag.new
|
10
10
|
entity.create(name)
|
11
|
+
entity
|
11
12
|
end
|
12
13
|
|
13
14
|
#
|
@@ -15,6 +16,21 @@ module Evertils
|
|
15
16
|
def find(name)
|
16
17
|
entity = Evertils::Common::Entity::Tag.new
|
17
18
|
entity.find(name)
|
19
|
+
entity
|
20
|
+
end
|
21
|
+
|
22
|
+
#
|
23
|
+
# @since 0.3.1
|
24
|
+
def find_or_create(name, stack = nil)
|
25
|
+
search_result = find(name)
|
26
|
+
|
27
|
+
if !search_result
|
28
|
+
note = create(name, stack)
|
29
|
+
else
|
30
|
+
note = search_result
|
31
|
+
end
|
32
|
+
|
33
|
+
note
|
18
34
|
end
|
19
35
|
|
20
36
|
end
|
@@ -5,8 +5,10 @@ module Evertils
|
|
5
5
|
|
6
6
|
#
|
7
7
|
# @since 0.2.8
|
8
|
-
def deprecation_notice(version)
|
9
|
-
|
8
|
+
def deprecation_notice(version, message)
|
9
|
+
output = "Deprecated as of #{version}"
|
10
|
+
output += "\nReason: #{message}" if message
|
11
|
+
output
|
10
12
|
end
|
11
13
|
|
12
14
|
#
|
@@ -15,18 +15,10 @@ module Evertils
|
|
15
15
|
Entity::Tags.new.all
|
16
16
|
end
|
17
17
|
|
18
|
-
#
|
19
|
-
# @since 0.2.0
|
20
|
-
def notebook_by_name(name)
|
21
|
-
entity = Entity::Notebook.new
|
22
|
-
nb = entity.find(name)
|
23
|
-
nb.entity
|
24
|
-
end
|
25
|
-
|
26
18
|
#
|
27
19
|
# @since 0.2.0
|
28
20
|
def notes_by_notebook(name)
|
29
|
-
entity =
|
21
|
+
entity = Manager::Notebook.new
|
30
22
|
nb = entity.find(name)
|
31
23
|
nb.notes
|
32
24
|
end
|
@@ -43,7 +35,6 @@ module Evertils
|
|
43
35
|
def create_note_from(full_path)
|
44
36
|
entity = Entity::Note.new
|
45
37
|
note = entity.create_from_yml(full_path)
|
46
|
-
note.entity
|
47
38
|
end
|
48
39
|
|
49
40
|
#
|
@@ -51,7 +42,6 @@ module Evertils
|
|
51
42
|
def create_notebooks_from(full_path)
|
52
43
|
entity = Entity::Notebooks.new
|
53
44
|
nb = entity.create_from_yml(full_path)
|
54
|
-
nb.entity
|
55
45
|
end
|
56
46
|
|
57
47
|
#
|
@@ -59,37 +49,59 @@ module Evertils
|
|
59
49
|
def create_notebook(name, stack = nil)
|
60
50
|
entity = Entity::Notebook.new
|
61
51
|
nb = entity.create(name, stack)
|
62
|
-
|
52
|
+
end
|
53
|
+
|
54
|
+
#
|
55
|
+
# @since 0.3.1
|
56
|
+
def create_tag(name)
|
57
|
+
entity = Manager::Tag.new
|
58
|
+
tag = entity.create(name)
|
59
|
+
end
|
60
|
+
|
61
|
+
#
|
62
|
+
# @since 0.2.0
|
63
|
+
def create_note(title, body, p_notebook_name = nil, file = nil, share_note = false, created_on = nil)
|
64
|
+
entity = Manager::Note.new
|
65
|
+
conf = { name: title, body: body, notebook: p_notebook_name, files: file, shared: share_note, created_on: created_on }
|
66
|
+
note = entity.create(conf)
|
63
67
|
end
|
64
68
|
|
65
69
|
#
|
66
70
|
# @since 0.2.0
|
67
71
|
def find_note(title_filter = nil, notebook_filter = nil)
|
68
|
-
entity =
|
72
|
+
entity = Manager::Note.new
|
69
73
|
note = entity.find(title_filter, notebook_filter)
|
70
|
-
|
74
|
+
end
|
75
|
+
|
76
|
+
#
|
77
|
+
# @since 0.3.1
|
78
|
+
def find_notebook(name)
|
79
|
+
entity = Manager::Notebook.new
|
80
|
+
nb = entity.find(name)
|
71
81
|
end
|
72
82
|
|
73
83
|
#
|
74
84
|
# @since 0.2.0
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
85
|
+
# @deprecated 0.3.1
|
86
|
+
def notebook_by_name(name)
|
87
|
+
deprecation_notice('0.3.1', 'Replaced by #find_notebook method. Will be removed in 0.4.0')
|
88
|
+
|
89
|
+
entity = Manager::Notebook.new
|
90
|
+
nb = entity.find(name)
|
79
91
|
end
|
80
92
|
|
81
93
|
#
|
82
94
|
# @since 0.2.0
|
83
|
-
def
|
84
|
-
entity =
|
85
|
-
note =
|
86
|
-
note.
|
95
|
+
def note_exists(name)
|
96
|
+
entity = Manager::Note.new
|
97
|
+
note = entity.find(name)
|
98
|
+
note.exists?
|
87
99
|
end
|
88
100
|
|
89
101
|
#
|
90
102
|
# @since 0.2.0
|
91
103
|
def destroy_note(name)
|
92
|
-
entity =
|
104
|
+
entity = Manager::Note.new
|
93
105
|
note = entity.find(name)
|
94
106
|
note.expunge!
|
95
107
|
end
|
data/lib/evertils/test/base.rb
CHANGED
@@ -76,39 +76,27 @@ module Evertils
|
|
76
76
|
# Remove all seeded data after all tests have run
|
77
77
|
# @since 0.3.0
|
78
78
|
def clean
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
puts "Deleting all tags..."
|
91
|
-
tags = tm.all
|
92
|
-
tags.each do |tag|
|
93
|
-
auth.call(:expungeTag, tag.guid)
|
94
|
-
end
|
95
|
-
|
96
|
-
puts "Deleting all notebooks..."
|
97
|
-
notebooks = nb.all
|
98
|
-
default = nbm.find_or_create('Default')
|
79
|
+
nb = Evertils::Common::Entity::Notebooks.new
|
80
|
+
nbm = Evertils::Common::Manager::Notebook.new
|
81
|
+
auth = Evertils::Common::Authentication.instance
|
82
|
+
tm = Evertils::Common::Entity::Tags.new
|
83
|
+
|
84
|
+
puts "Deleting all tags..."
|
85
|
+
tags = tm.all
|
86
|
+
tags.each do |tag|
|
87
|
+
auth.call(:expungeTag, tag.guid)
|
88
|
+
end
|
99
89
|
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
end
|
90
|
+
puts "Deleting all notebooks..."
|
91
|
+
notebooks = nb.all
|
92
|
+
default = nbm.find_or_create('Default')
|
104
93
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
end
|
109
|
-
rescue ArgumentError => e
|
110
|
-
puts e.message
|
94
|
+
notebooks.each do |nb|
|
95
|
+
next if nb.guid == default.prop(:guid)
|
96
|
+
auth.call(:expungeNotebook, nb.guid)
|
111
97
|
end
|
98
|
+
|
99
|
+
puts "Sample data deleted"
|
112
100
|
end
|
113
101
|
|
114
102
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: evertils-common
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Priebe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-01-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -125,6 +125,9 @@ files:
|
|
125
125
|
- lib/evertils/test.rb
|
126
126
|
- lib/evertils/test/base.rb
|
127
127
|
- lib/evertils/test/seed/all.yml
|
128
|
+
- lib/evertils/test/seed/note.yml
|
129
|
+
- lib/evertils/test/seed/notebooks.yml
|
130
|
+
- lib/evertils/test/seed/stack.yml
|
128
131
|
homepage: http://rubygems.org/gems/evertils-common
|
129
132
|
licenses:
|
130
133
|
- MIT
|