evertils 0.3.7 → 0.3.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/evertils +7 -38
- data/evertils.gemspec +1 -1
- data/lib/evertils/config.rb +55 -0
- data/lib/evertils/controller.rb +69 -0
- data/lib/{controllers → evertils/controllers}/convert.rb +1 -1
- data/lib/evertils/controllers/firstrun.rb +24 -0
- data/lib/{controllers → evertils/controllers}/generate.rb +11 -27
- data/lib/{controllers → evertils/controllers}/get.rb +3 -3
- data/lib/{controllers → evertils/controllers}/status.rb +2 -2
- data/lib/{helper.rb → evertils/helper.rb} +3 -3
- data/lib/{helpers → evertils/helpers}/api-enml-handler.rb +3 -10
- data/lib/{helpers → evertils/helpers}/evernote-markdown.rb +14 -14
- data/lib/{helpers → evertils/helpers}/formatting.rb +29 -27
- data/lib/evertils/request.rb +31 -0
- data/lib/evertils/router.rb +56 -0
- data/lib/{type.rb → evertils/type.rb} +8 -2
- data/lib/{types → evertils/types}/daily.rb +2 -5
- data/lib/{types → evertils/types}/monthly-task-summary.rb +2 -11
- data/lib/{types → evertils/types}/monthly.rb +3 -6
- data/lib/{types → evertils/types}/priority-queue.rb +3 -5
- data/lib/{types → evertils/types}/weekly.rb +4 -8
- data/lib/{utils.rb → evertils/utils.rb} +4 -4
- data/lib/evertils/version.rb +3 -0
- data/lib/evertils.rb +39 -0
- metadata +33 -34
- data/lib/command.rb +0 -179
- data/lib/config.rb +0 -65
- data/lib/controller.rb +0 -117
- data/lib/log.rb +0 -111
- data/lib/logs.rb +0 -34
- data/lib/request.rb +0 -23
- data/lib/router.rb +0 -67
- data/lib/version.rb +0 -3
- /data/lib/{configs → evertils/configs}/templates/daily.enml +0 -0
- /data/lib/{configs/templates/mts.enml → evertils/configs/templates/monthly-task-summaries.enml} +0 -0
- /data/lib/{configs → evertils/configs}/templates/monthly.enml +0 -0
- /data/lib/{configs → evertils/configs}/templates/pq.enml +0 -0
- /data/lib/{configs → evertils/configs}/templates/weekly.enml +0 -0
- /data/lib/{controllers → evertils/controllers}/new.rb +0 -0
- /data/lib/{helpers → evertils/helpers}/evernote-enml.rb +0 -0
- /data/lib/{helpers → evertils/helpers}/results.rb +0 -0
- /data/lib/{helpers → evertils/helpers}/time.rb +0 -0
- /data/lib/{kernel.rb → evertils/kernel.rb} +0 -0
data/lib/log.rb
DELETED
@@ -1,111 +0,0 @@
|
|
1
|
-
module Evertils
|
2
|
-
class Log
|
3
|
-
attr_accessor :path, :total_files_processed
|
4
|
-
attr_reader :template
|
5
|
-
|
6
|
-
def initialize(*args)
|
7
|
-
if args.length == 0
|
8
|
-
# default log
|
9
|
-
@template = "#{Evertils::LOG_DIR}/%s"
|
10
|
-
@path = sprintf(@template, "default.log")
|
11
|
-
else
|
12
|
-
@template = "#{Evertils::LOG_DIR}/%s/%s-%s.log"
|
13
|
-
|
14
|
-
format(args)
|
15
|
-
end
|
16
|
-
|
17
|
-
@path
|
18
|
-
end
|
19
|
-
|
20
|
-
def stale?
|
21
|
-
Time.now - last_write > 60
|
22
|
-
end
|
23
|
-
|
24
|
-
def exists?
|
25
|
-
File.exist? @path
|
26
|
-
end
|
27
|
-
|
28
|
-
def delete
|
29
|
-
if exists?
|
30
|
-
File.delete @path
|
31
|
-
end
|
32
|
-
|
33
|
-
Notify.sinfo("Deleting truncated log file #{@path}")
|
34
|
-
@path = nil
|
35
|
-
end
|
36
|
-
|
37
|
-
def num_lines
|
38
|
-
File.foreach(@path).inject(0) {|c, line| c+1}
|
39
|
-
end
|
40
|
-
|
41
|
-
def faults
|
42
|
-
matchdata = { :errors => 0, :warnings => 0, :total => 0 }
|
43
|
-
|
44
|
-
begin
|
45
|
-
case @log_type
|
46
|
-
when :js
|
47
|
-
last_line = IO.readlines(@path)[-5].chomp
|
48
|
-
matches = last_line.match(/(\d+) example, (\d+) failure/)
|
49
|
-
|
50
|
-
if matches
|
51
|
-
matchdata[:errors] += matches[2].to_i
|
52
|
-
end
|
53
|
-
when :coffeelint
|
54
|
-
total = 0
|
55
|
-
File.foreach(@path) do |line|
|
56
|
-
matches = line.match(/Lint\! » (\d+) errors and (\d+)/)
|
57
|
-
|
58
|
-
if matches
|
59
|
-
matchdata[:errors] += matches[1].to_i
|
60
|
-
matchdata[:warnings] += matches[2].to_i
|
61
|
-
end
|
62
|
-
end
|
63
|
-
when :ruby
|
64
|
-
last_line = IO.readlines(@path)[-1].chomp
|
65
|
-
matches = last_line.match(/(\d+) files inspected\, (\d+)/)
|
66
|
-
|
67
|
-
if matches
|
68
|
-
matchdata[:errors] += matches[2].to_i
|
69
|
-
matchdata[:total] += matches[1].to_i
|
70
|
-
end
|
71
|
-
when :goliath
|
72
|
-
|
73
|
-
else
|
74
|
-
raise ArgumentError, "Unknown log type - #{log_type}"
|
75
|
-
end
|
76
|
-
rescue => e
|
77
|
-
Notify.error(e.message)
|
78
|
-
end
|
79
|
-
|
80
|
-
matchdata
|
81
|
-
end
|
82
|
-
|
83
|
-
def to_s
|
84
|
-
@path
|
85
|
-
end
|
86
|
-
|
87
|
-
private
|
88
|
-
def format(args)
|
89
|
-
@identifier = args[2]
|
90
|
-
|
91
|
-
@path = sprintf(@template,
|
92
|
-
@identifier,
|
93
|
-
args[0],
|
94
|
-
args[1].strftime('%Y-%m-%d-%T')
|
95
|
-
)
|
96
|
-
|
97
|
-
if !File.exists? @path
|
98
|
-
Utils.generate_path(args[0], args[1].strftime('%Y-%m-%d-%T'), @identifier)
|
99
|
-
end
|
100
|
-
|
101
|
-
# create the log file, populate it with temporary data
|
102
|
-
File.open(@path, 'w+') do |f|
|
103
|
-
f.write("Command output will be logged below when it finishes running\n")
|
104
|
-
end
|
105
|
-
end
|
106
|
-
|
107
|
-
def last_write
|
108
|
-
File.mtime(@path)
|
109
|
-
end
|
110
|
-
end
|
111
|
-
end
|
data/lib/logs.rb
DELETED
@@ -1,34 +0,0 @@
|
|
1
|
-
module Evertils
|
2
|
-
class Logs
|
3
|
-
MAX_LOGS_TO_STORE = 30
|
4
|
-
|
5
|
-
@files = Dir["#{Evertils::LOG_DIR}/*/*.log"]
|
6
|
-
|
7
|
-
def self.clean
|
8
|
-
if @files.size > 0
|
9
|
-
@files.each do |file|
|
10
|
-
File.delete file if File.exist? file
|
11
|
-
end
|
12
|
-
Notify.info("Removed #{@files.size} old log files")
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def self.dirty?
|
17
|
-
@files.size >= MAX_LOGS_TO_STORE
|
18
|
-
end
|
19
|
-
|
20
|
-
# Create a directory if required
|
21
|
-
def self.mkdir(name)
|
22
|
-
dir = "#{Evertils::LOG_DIR}/#{name.downcase}"
|
23
|
-
|
24
|
-
if !Dir.exist? dir
|
25
|
-
Dir.mkdir dir
|
26
|
-
end
|
27
|
-
|
28
|
-
# Create the default .gitignore
|
29
|
-
File.open("#{dir}/.gitignore", "w+") do |file|
|
30
|
-
file.write "# Ignore everything in this directory\n*\n# Except this file\n!.gitignore"
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
34
|
-
end
|
data/lib/request.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
module Evertils
|
2
|
-
class Request
|
3
|
-
attr_reader :controller, :command, :custom, :flags, :raw_flags
|
4
|
-
|
5
|
-
def initialize
|
6
|
-
@controller = nil
|
7
|
-
@flags = ARGV.select { |f| f.start_with?('-') }.map { |f| f.split("=").map &:to_sym } || []
|
8
|
-
@raw_flags = ARGV.select { |f| f.start_with?('-') } || []
|
9
|
-
|
10
|
-
if ARGV.size > 0
|
11
|
-
if !ARGV[0].start_with?('-')
|
12
|
-
@controller = ARGV[0].to_sym rescue nil
|
13
|
-
end
|
14
|
-
|
15
|
-
@command = ARGV[1].to_sym rescue nil
|
16
|
-
|
17
|
-
if ARGV.size > 2
|
18
|
-
@custom = ARGV[2..ARGV.size].select { |p| !p.start_with?('-') }.map &:to_sym || []
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
data/lib/router.rb
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
module Evertils
|
2
|
-
class Router
|
3
|
-
def route
|
4
|
-
pre_exec
|
5
|
-
|
6
|
-
# Create object context and pass it the required command line arguments
|
7
|
-
begin
|
8
|
-
if !$request.controller.nil?
|
9
|
-
controller = Evertils::Controller.const_get $request.controller.capitalize rescue false
|
10
|
-
|
11
|
-
if !controller
|
12
|
-
raise "Controller not found: #{$request.controller.capitalize}"
|
13
|
-
end
|
14
|
-
|
15
|
-
context = controller.new
|
16
|
-
|
17
|
-
if context.can_exec? $request.controller, $request.command
|
18
|
-
context.pre_exec
|
19
|
-
|
20
|
-
|
21
|
-
if context.methods_require_internet.include? $request.command
|
22
|
-
if !Utils.has_internet_connection?
|
23
|
-
raise RuntimeError, "Command `#{Evertils::PACKAGE_NAME} #{$request.controller} #{$request.command}` requires a connection to the internet.\nPlease check your network configuration settings."
|
24
|
-
end
|
25
|
-
end
|
26
|
-
|
27
|
-
# Run the controller
|
28
|
-
# Call a default action for controllers which do not require a third
|
29
|
-
# argument, i.e. evertils status
|
30
|
-
if context.respond_to? :default
|
31
|
-
context.default
|
32
|
-
else
|
33
|
-
context.exec
|
34
|
-
end
|
35
|
-
|
36
|
-
# Run cleanup commands
|
37
|
-
context.post_exec
|
38
|
-
end
|
39
|
-
end
|
40
|
-
rescue RuntimeError => e
|
41
|
-
Notify.error("#{e.to_s}", {})
|
42
|
-
rescue NameError => e
|
43
|
-
Notify.error("#{e.to_s}\n#{e.backtrace.join("\n")}", {})
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
def pre_exec
|
48
|
-
# Populate request params
|
49
|
-
$request = Request.new
|
50
|
-
|
51
|
-
# include the controller
|
52
|
-
if File.exists? "#{Evertils::CONTROLLER_DIR}#{$request.controller}.rb"
|
53
|
-
require "#{Evertils::CONTROLLER_DIR}#{$request.controller}.rb"
|
54
|
-
end
|
55
|
-
|
56
|
-
# include helpers
|
57
|
-
if File.exists? "#{Evertils::HELPER_DIR}#{$request.controller}.rb"
|
58
|
-
require "#{Evertils::HELPER_DIR}#{$request.controller}.rb"
|
59
|
-
end
|
60
|
-
|
61
|
-
# include models
|
62
|
-
if File.exists? "#{Evertils::MODEL_DIR}#{$request.controller}.rb"
|
63
|
-
require "#{Evertils::MODEL_DIR}#{$request.controller}.rb"
|
64
|
-
end
|
65
|
-
end
|
66
|
-
end
|
67
|
-
end
|
data/lib/version.rb
DELETED
File without changes
|
/data/lib/{configs/templates/mts.enml → evertils/configs/templates/monthly-task-summaries.enml}
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|