evertils-common 0.3.0 → 0.3.1
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 +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
|