evertils 0.0.11 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 299a2899225cc87b9c3b85451f832d2d4e94de7d
4
- data.tar.gz: 23f4fe1c94dfc735ecc774ec465da2b2604e10fa
3
+ metadata.gz: c3572053c074ab14819a91c5ca4001429aea18ca
4
+ data.tar.gz: d62e18f57d57d8418a699a2476b7b1705f4a448d
5
5
  SHA512:
6
- metadata.gz: f50fb1476c5275c1b34016fa04d0b16dfdc1970168a8dba475ff4d1f7a33a4f8e9887bb9f4543b8f465044949bb6501a391b4f9ada56cd16e0400d7e6d416964
7
- data.tar.gz: f4bba6eb6ea3b5aab3f2bc1ea9e7f767c1c038544131eef1aa7aa26f42d6146d5b593335b7ebcd651140323d52289cc7146d4d5d63dadf5aa50a43abe1ccc8bd
6
+ metadata.gz: eafb9f81abe04a073ad57a75d226d08a0217d0c2d085be9287a61120b1f4e0ef52bba3fd4827f2f00cff296d7f8ced5d58e7c53c69c93c73c12e9c326d48b5ea
7
+ data.tar.gz: 9e63521ac2e07d2b9543ca68a4f386fef2d37b2ee6cb2031311d5f138aa92bba7f52443abcccee7d3faa1e51caa1728b1c7b96a495b69938e6b729de57f30370
data/bin/evertils CHANGED
@@ -15,8 +15,10 @@ require 'digest/md5'
15
15
  require 'mime/types'
16
16
 
17
17
  # include required files
18
+ require_relative "../lib/kernel.rb"
18
19
  require_relative "../lib/version.rb"
19
20
  require_relative "../lib/helpers/time.rb"
21
+ require_relative "../lib/helpers/results.rb"
20
22
  require_relative "../lib/config.rb"
21
23
  require_relative "../lib/request.rb"
22
24
  require_relative "../lib/log.rb"
@@ -112,7 +112,7 @@ module Granify
112
112
  output
113
113
  end
114
114
 
115
- def note(title_filter = nil, notebook_filter = nil)
115
+ def find_note(title_filter = nil, notebook_filter = nil)
116
116
  filter = ::Evernote::EDAM::NoteStore::NoteFilter.new
117
117
  filter.words = "intitle:#{title_filter}" if title_filter
118
118
  filter.notebookGuid = notebook_filter if notebook_filter
@@ -129,8 +129,22 @@ module Granify
129
129
  end
130
130
 
131
131
  def note_exists
132
- note = note(date_templates[$request.command])
133
- note.totalNotes > 0
132
+ results = Helper::Results.new
133
+ template = date_templates[$request.command]
134
+ note = find_note(template)
135
+
136
+ # Evernote's search matches things like the following, so we have to get
137
+ # more specific
138
+ # Daily Log [July 3 - F] == Daily Log [July 10 - F]
139
+ if note.totalNotes > 0
140
+ note.notes.each do |n|
141
+ results.add(n.title != template)
142
+ end
143
+ else
144
+ results.add(false)
145
+ end
146
+
147
+ results.should_eval_to(false)
134
148
  end
135
149
 
136
150
  def create_note(title = date_templates[$request.command], body = template_contents, p_notebook_name = nil, file = nil, share_note = false)
@@ -0,0 +1,21 @@
1
+ module Granify
2
+ module Helper
3
+ class Results
4
+ attr_reader :bucket
5
+ def initialize
6
+ @bucket = []
7
+ @bucket
8
+ end
9
+
10
+ # Add a result for processing
11
+ def add(result)
12
+ @bucket.push(result.to_bool)
13
+ result.to_bool
14
+ end
15
+
16
+ def should_eval_to(pass_value)
17
+ @bucket.all? == pass_value
18
+ end
19
+ end
20
+ end
21
+ end
data/lib/kernel.rb ADDED
@@ -0,0 +1,29 @@
1
+ class String
2
+ def to_bool
3
+ return true if self == true || self =~ (/^(true|t|yes|y|1)$/i)
4
+ return false if self == false || self.blank? || self =~ (/^(false|f|no|n|0)$/i)
5
+ raise ArgumentError.new("invalid value for Boolean: \"#{self}\"")
6
+ end
7
+ end
8
+
9
+ class Fixnum
10
+ def to_bool
11
+ return true if self == 1
12
+ return false if self == 0
13
+ raise ArgumentError.new("invalid value for Boolean: \"#{self}\"")
14
+ end
15
+ end
16
+
17
+ class TrueClass
18
+ def to_i; 1; end
19
+ def to_bool; self; end
20
+ end
21
+
22
+ class FalseClass
23
+ def to_i; 0; end
24
+ def to_bool; self; end
25
+ end
26
+
27
+ class NilClass
28
+ def to_bool; false; end
29
+ end
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Granify
2
- VERSION = '0.0.11'
2
+ VERSION = '0.1.0'
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.0.11
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Priebe
@@ -41,7 +41,9 @@ files:
41
41
  - lib/helpers/evernote-markdown.rb
42
42
  - lib/helpers/evernote.rb
43
43
  - lib/helpers/generate.rb
44
+ - lib/helpers/results.rb
44
45
  - lib/helpers/time.rb
46
+ - lib/kernel.rb
45
47
  - lib/log.rb
46
48
  - lib/logs.rb
47
49
  - lib/model.rb