evertils 0.1.14 → 0.1.15

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: 54ccd411df308fa6f3c5683ee1f6f68951ef0388
4
- data.tar.gz: 32d769997b304a94f4338e8ae9127ff841acee78
3
+ metadata.gz: 34b47cca996f377fe18994fdc93ec4434c9f7126
4
+ data.tar.gz: b2ba6dfa2f4fe920170f6febc85fe08fd655b338
5
5
  SHA512:
6
- metadata.gz: 3eaaf5201e2248b3f3282ff9e13487a6713bc50f752e546a72ff9413a906f2c51d0aa425166630295ed04bea78901ae93341ed651205e0802450cb571de9c58e
7
- data.tar.gz: fb5a886815dedb9f93e999fa718c8928649b77a55913c0b20ff67428a08d27a209989bb2f921b5d63e6132198207fe30e0f26db6913feb97f7f0ad0841fe8eec
6
+ metadata.gz: 7de9b29c76857ed63808f68198358d2c0a8e819e5008a88747e389dee021434f00f2ebff139deeaadc8ae5d5df77ed52995a90d8998729fb8c1418d87a972f13
7
+ data.tar.gz: 90b6c2828c1b535a594bae9275aadcbe7f574c398e66757b618b2f72d1556bcc070d84a498781166158f276aad40858e09d0aa704c08c6ce47c2bd0e1ea9c498
@@ -9,7 +9,7 @@ module Granify
9
9
  @model = Granify::Helper.load('evernote')
10
10
 
11
11
  # all methods require internet to make API calls
12
- @methods_require_internet.push(:daily, :weekly, :monthly)
12
+ @methods_require_internet.push(:daily, :weekly, :monthly, :deployment)
13
13
 
14
14
  # user = @model.user
15
15
  # Notify.success("Welcome, #{user.name} (#{user.username})")
@@ -30,6 +30,20 @@ module Granify
30
30
  super
31
31
  end
32
32
 
33
+ def deployment
34
+ if STDIN.tty?
35
+ Notify.error("This command relies on piped data to generate note data")
36
+ end
37
+
38
+ if !@force
39
+ if @model.note_exists
40
+ Notify.error("There's already a log for today!")
41
+ end
42
+ end
43
+
44
+ @model.create_deployment_note
45
+ end
46
+
33
47
  # generate daily notes
34
48
  def daily
35
49
  if !@force
@@ -3,6 +3,12 @@ module Granify
3
3
  class Evernote
4
4
  @@developer_token = ENV["EVERTILS_TOKEN"]
5
5
 
6
+ # required user-created notebooks
7
+ NOTEBOOK_DAILY = :Daily
8
+ NOTEBOOK_WEEKLY = :Weekly
9
+ NOTEBOOK_MONTHLY = :Monthly
10
+ NOTEBOOK_DEPLOYMENT = :Deployments
11
+
6
12
  def initialize
7
13
  authenticate
8
14
  end
@@ -148,6 +154,9 @@ module Granify
148
154
  end
149
155
 
150
156
  def create_note(title = date_templates[$request.command], body = template_contents, p_notebook_name = nil, file = nil, share_note = false, created_on = nil)
157
+ # final output
158
+ output = {}
159
+
151
160
  # Create note object
152
161
  our_note = ::Evernote::EDAM::Type::Note.new
153
162
  our_note.resources = []
@@ -195,7 +204,6 @@ module Granify
195
204
 
196
205
  ## Attempt to create note in Evernote account
197
206
  begin
198
- output = {}
199
207
  output[:note] = @@store.createNote(@@developer_token, our_note)
200
208
 
201
209
  if share_note
@@ -223,6 +231,62 @@ module Granify
223
231
  output
224
232
  end
225
233
 
234
+ def create_deployment_note
235
+ # final output
236
+ output = {}
237
+
238
+ # Create note object
239
+ our_note = ::Evernote::EDAM::Type::Note.new
240
+ our_note.resources = []
241
+ our_note.tagNames = []
242
+
243
+ # format output, expected format:
244
+ # PR_DESCRIPTION (https://github.com/repo/repo/pull/PR_NUM)
245
+ # - Created by GIT_USER
246
+ # - Branch: GIT_BRANCH
247
+ # - Merged by GIT_USER on 30/6/2015 @ 06:09:27pm
248
+ # - Changes: https://github.com/repo/repo/pull/PR_NUM.diff
249
+ # ============================================================
250
+ # 1 PR(s) merged from 2015-06-30 18:00:00 to 2015-07-01 17:59:59
251
+ # ============================================================
252
+ body = JSON.parse(STDIN.gets).join
253
+ body = body.gsub("\n", '<br />')
254
+
255
+ n_body = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
256
+ n_body += "<!DOCTYPE en-note SYSTEM \"http://xml.evernote.com/pub/enml2.dtd\">"
257
+ n_body += "<en-note>#{body}</en-note>"
258
+
259
+ # setup note properties
260
+ our_note.title = date_templates[NOTEBOOK_DEPLOYMENT]
261
+ our_note.content = n_body
262
+
263
+ parent_notebook = notebook_by_name(NOTEBOOK_DEPLOYMENT)
264
+
265
+ # parent_notebook is optional; if omitted, default notebook is used
266
+ if parent_notebook.is_a? ::Evernote::EDAM::Type::Notebook
267
+ our_note.notebookGuid = parent_notebook.guid
268
+ end
269
+
270
+ # Attempt to create note in Evernote account
271
+ begin
272
+ output[:note] = @@store.createNote(@@developer_token, our_note)
273
+ rescue ::Evernote::EDAM::Error::EDAMUserException => edue
274
+ ##Something was wrong with the note data
275
+ # See EDAMErrorCode enumeration for error code explanation
276
+ # http://dev.evernote.com/documentation/reference/Errors.html#Enum_EDAMErrorCode
277
+ Notify.error "EDAMUserException: #{edue}\nCode #{edue.errorCode}: #{edue.parameter}\nExtended:\n#{edue.inspect}"
278
+ rescue ::Evernote::EDAM::Error::EDAMNotFoundException => ednfe
279
+ # Parent Notebook GUID doesn't correspond to an actual notebook
280
+ Notify.error "EDAMNotFoundException: Invalid parent notebook GUID"
281
+ end
282
+
283
+ # A parent notebook object exists, otherwise it was saved to the default
284
+ # notebook
285
+ Notify.success("#{parent_notebook.name}/#{our_note.title} created")
286
+
287
+ output
288
+ end
289
+
226
290
  def generate_stats
227
291
  {
228
292
  "Statistic description" => 9845.3894
@@ -265,9 +329,10 @@ module Granify
265
329
  end_of_week = now + 4 # days
266
330
 
267
331
  {
268
- :daily => "Daily Log [#{now.strftime('%B %-d')} - #{day_of_week}]",
269
- :weekly => "Weekly Log [#{now.strftime('%B %-d')} - #{end_of_week.strftime('%B %-d')}]",
270
- :monthly => "Monthly Log [#{now.strftime('%B %Y')}]"
332
+ :Daily => "Daily Log [#{now.strftime('%B %-d')} - #{day_of_week}]",
333
+ :Weekly => "Weekly Log [#{now.strftime('%B %-d')} - #{end_of_week.strftime('%B %-d')}]",
334
+ :Monthly => "Monthly Log [#{now.strftime('%B %Y')}]",
335
+ :Deployments => "#{now.strftime('%B %-d')} - #{day_of_week}"
271
336
  }
272
337
  end
273
338
  end
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Granify
2
- VERSION = '0.1.14'
2
+ VERSION = '0.1.15'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evertils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.14
4
+ version: 0.1.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Priebe