evertils-common 0.3.9 → 0.3.10
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 +5 -5
- data/lib/evertils/common/entity.rb +39 -0
- data/lib/evertils/common/entity/note.rb +6 -8
- data/lib/evertils/common/model/note.rb +8 -3
- data/lib/evertils/common/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 22dd994d7ac10f3862a2d5ebea103ea136864a3e8b9f58c4696a24df4c3fd6b3
|
4
|
+
data.tar.gz: 513b9d7f97fa5bea2796267734dc5ff759fc1d3c204a5f01d69c189998f5ddd9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f958b628108cba980269b5a9cfe58ed721523f6104045b2378eabe34a95b4b6fc190dde97e01d3b070565896342b93359acb718284432c763552d497d143a6c
|
7
|
+
data.tar.gz: 21b87e63f9412b83fcc12039bfe44e9f678d098e479ecbc2944dacd2efbbdbeacd657e2768270190c28489d07452bb6c7155454afdec15cf91bb61d7c1c61f64
|
@@ -4,12 +4,51 @@ module Evertils
|
|
4
4
|
class Base < Common::Generic
|
5
5
|
attr_accessor :entity
|
6
6
|
|
7
|
+
REPLACEMENTS = {
|
8
|
+
'%DOY%': Date.today.yday,
|
9
|
+
'%MONTH_NAME%': Date.today.strftime('%B'),
|
10
|
+
'%MONTH%': Date.today.month,
|
11
|
+
'%DAY%': Date.today.day,
|
12
|
+
'%DOW%': Date.today.wday,
|
13
|
+
'%DOW_NAME%': Date.today.strftime('%a'),
|
14
|
+
'%YEAR%': Date.today.year,
|
15
|
+
'%WEEK%': Date.today.cweek,
|
16
|
+
'%WEEK_START%': Date.commercial(Date.today.year, Date.today.cweek, 1),
|
17
|
+
'%WEEK_END%': Date.commercial(Date.today.year, Date.today.cweek, 5)
|
18
|
+
}
|
19
|
+
|
7
20
|
def initialize
|
8
21
|
@evernote = Authentication.instance
|
9
22
|
|
10
23
|
super
|
11
24
|
end
|
12
25
|
|
26
|
+
def placeholders_for(items)
|
27
|
+
items.map do |item|
|
28
|
+
REPLACEMENTS.each_pair do |k, v|
|
29
|
+
item.last.gsub!(k.to_s, v.to_s) if item.last.is_a? String
|
30
|
+
item.last.map { |i| i.gsub!(k.to_s, v.to_s) } if item.last.is_a? Array
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
symbolize_keys(items)
|
35
|
+
end
|
36
|
+
|
37
|
+
def symbolize_keys(hash)
|
38
|
+
hash.inject({}){ |result, (key, value)|
|
39
|
+
new_key = case key
|
40
|
+
when String then key.to_sym
|
41
|
+
else key
|
42
|
+
end
|
43
|
+
new_value = case value
|
44
|
+
when Hash then symbolize_keys(value)
|
45
|
+
else value
|
46
|
+
end
|
47
|
+
result[new_key] = new_value
|
48
|
+
result
|
49
|
+
}
|
50
|
+
end
|
51
|
+
|
13
52
|
#
|
14
53
|
# @since 0.2.8
|
15
54
|
def start_of_day(date = ::Time.now)
|
@@ -8,16 +8,14 @@ module Evertils
|
|
8
8
|
raise "File not found: #{full_path}" unless File.exist? full_path
|
9
9
|
|
10
10
|
begin
|
11
|
-
conf = YAML
|
12
|
-
required = %w
|
11
|
+
conf = placeholders_for(YAML.safe_load(File.read(full_path)))
|
12
|
+
required = %w[title sections]
|
13
13
|
|
14
|
-
if has_required_fields(conf, required)
|
15
|
-
|
16
|
-
|
17
|
-
raise ArgumentError, 'Configuration file is missing some required fields'
|
18
|
-
end
|
14
|
+
return create(conf) if has_required_fields(conf, required) && !exists?
|
15
|
+
|
16
|
+
raise ArgumentError, 'Configuration file is missing some required fields'
|
19
17
|
rescue ArgumentError => e
|
20
|
-
|
18
|
+
Notify.error e.message
|
21
19
|
end
|
22
20
|
end
|
23
21
|
|
@@ -11,21 +11,26 @@ module Evertils
|
|
11
11
|
# @since 0.3.3
|
12
12
|
def initialize(conf = {})
|
13
13
|
raise "Title (title) is a required field" unless conf[:title]
|
14
|
-
raise "Body (body) is a required field" unless conf[:body]
|
14
|
+
raise "Body (body) is a required field" unless conf[:sections][:body]
|
15
15
|
|
16
16
|
@note = ::Evernote::EDAM::Type::Note.new
|
17
17
|
|
18
18
|
# data which maps directly to the Type::Note object
|
19
19
|
self.colour = conf[:colour] || 0xffffff
|
20
|
-
self.body = conf[:body]
|
21
20
|
self.created = conf[:created_on] || DateTime.now
|
22
21
|
|
22
|
+
note_content = ''
|
23
|
+
note_content += conf[:sections][:header] unless conf[:sections][:header] == 'nil'
|
24
|
+
conf[:sections][:body]&.map { |el| note_content += "<h2>#{el}</h2>" }
|
25
|
+
note_content += conf[:sections][:footer] unless conf[:sections][:footer] == 'nil'
|
26
|
+
self.body = note_content
|
27
|
+
|
23
28
|
@note.title = conf[:title]
|
24
29
|
@note.tagNames = conf[:tags] || []
|
25
30
|
@note.resources = []
|
26
31
|
|
27
32
|
# data that must be processed first
|
28
|
-
@notebook = conf[:
|
33
|
+
@notebook = conf[:notebook] || Entity::Notebook.new.default.to_s
|
29
34
|
@resources = conf[:file] || []
|
30
35
|
@shareable = conf[:share_note] || false
|
31
36
|
@updated = conf[:updated_on] || nil
|
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.10
|
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: 2019-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -154,8 +154,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
154
154
|
- !ruby/object:Gem::Version
|
155
155
|
version: '0'
|
156
156
|
requirements: []
|
157
|
-
|
158
|
-
rubygems_version: 2.6.12
|
157
|
+
rubygems_version: 3.0.1
|
159
158
|
signing_key:
|
160
159
|
specification_version: 4
|
161
160
|
summary: EN (heart) CLI
|