taskloop 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/taskloop/command/deploy.rb +3 -4
  4. data/lib/taskloop/command/init.rb +10 -8
  5. data/lib/taskloop/command/list.rb +10 -8
  6. data/lib/taskloop/dsl/dsl.rb +16 -5
  7. data/lib/taskloop/extension/integer_extension.rb +0 -4
  8. data/lib/taskloop/rules/after_scope_rule.rb +36 -45
  9. data/lib/taskloop/rules/before_scope_rule.rb +36 -45
  10. data/lib/taskloop/rules/between_scope_rule.rb +51 -60
  11. data/lib/taskloop/rules/boundary_rule.rb +21 -0
  12. data/lib/taskloop/rules/date_list_rule.rb +0 -4
  13. data/lib/taskloop/rules/default_rule.rb +0 -4
  14. data/lib/taskloop/rules/end_point_boundary_rule.rb +21 -0
  15. data/lib/taskloop/rules/interval_rule.rb +0 -4
  16. data/lib/taskloop/rules/loop_rule.rb +0 -4
  17. data/lib/taskloop/rules/rule.rb +2 -4
  18. data/lib/taskloop/rules/specific_rule.rb +25 -32
  19. data/lib/taskloop/rules/start_point_boundary_rule.rb +21 -0
  20. data/lib/taskloop/rules/time_list_rule.rb +0 -4
  21. data/lib/taskloop/task/task.rb +20 -7
  22. data/lib/taskloop/task/task_property.rb +121 -45
  23. data/lib/taskloop/version.rb +1 -1
  24. data/sig/integer.rbs +11 -0
  25. data/sig/string.rbs +7 -0
  26. data/sig/task_loop/after_scope_rule.rbs +11 -0
  27. data/sig/task_loop/before_scope_rule.rbs +11 -0
  28. data/sig/task_loop/between_scope_rule.rbs +14 -0
  29. data/sig/task_loop/boundary_rule.rbs +9 -0
  30. data/sig/task_loop/date_list_rule.rbs +11 -0
  31. data/sig/task_loop/default_rule.rbs +8 -0
  32. data/sig/task_loop/deploy.rbs +18 -0
  33. data/sig/task_loop/dsl.rbs +25 -0
  34. data/sig/task_loop/end_point_boundary_rule.rbs +9 -0
  35. data/sig/task_loop/env.rbs +13 -0
  36. data/sig/task_loop/init.rbs +5 -0
  37. data/sig/task_loop/interval_rule.rbs +9 -0
  38. data/sig/task_loop/launch.rbs +12 -0
  39. data/sig/task_loop/list.rbs +9 -0
  40. data/sig/task_loop/log.rbs +11 -0
  41. data/sig/task_loop/loop_rule.rbs +9 -0
  42. data/sig/task_loop/proj_task_list.rbs +5 -0
  43. data/sig/task_loop/rule.rbs +11 -0
  44. data/sig/task_loop/run.rbs +11 -0
  45. data/sig/task_loop/scope_rule.rbs +9 -0
  46. data/sig/task_loop/shutdown.rbs +7 -0
  47. data/sig/task_loop/specific_rule.rbs +11 -0
  48. data/sig/task_loop/start_point_boundary_rule.rbs +9 -0
  49. data/sig/task_loop/task.rbs +34 -0
  50. data/sig/task_loop/task_data_file.rbs +23 -0
  51. data/sig/task_loop/task_property.rbs +83 -0
  52. data/sig/task_loop/time_list_rule.rbs +13 -0
  53. data/sig/task_loop/undeploy.rbs +7 -0
  54. metadata +35 -2
@@ -0,0 +1,13 @@
1
+ module TaskLoop
2
+ class Env
3
+ def get_environment_variable_from_line: (String) -> String
4
+
5
+ def import_environment_variables: () -> void
6
+
7
+ def list_environment_variables: () -> void
8
+
9
+ def remove_environment_variables: () -> void
10
+
11
+ def validate!: () -> void
12
+ end
13
+ end
@@ -0,0 +1,5 @@
1
+ module TaskLoop
2
+ class Init
3
+ def run: () -> void
4
+ end
5
+ end
@@ -0,0 +1,9 @@
1
+ module TaskLoop
2
+ class IntervalRule
3
+ attr_accessor interval: Integer
4
+
5
+ def desc: () -> String
6
+
7
+ def is_conform_rule?: (Time) -> bool
8
+ end
9
+ end
@@ -0,0 +1,12 @@
1
+ module TaskLoop
2
+ class Launch
3
+ def create_environments_file_if_needed: () -> void
4
+
5
+ def create_tasklooprc_file_if_needed: () -> void
6
+
7
+ def register_taskloop_into_crontab_if_needed: () -> void
8
+
9
+ def run: () -> void
10
+
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ module TaskLoop
2
+ class List
3
+ @proj_tasklist_map: Hash[Symbol, Array[Task]]
4
+
5
+ def proj_tasklist_map: () -> Hash[Symbol, Array[Task]]
6
+
7
+ def show_proj_tasklist_info: () -> void
8
+ end
9
+ end
@@ -0,0 +1,11 @@
1
+ module TaskLoop
2
+ class Log
3
+ def check_log_of_cron: () -> void
4
+
5
+ def check_log_of_task: (String) -> void
6
+
7
+ def run: () -> String
8
+
9
+ def validate!: () -> void
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ module TaskLoop
2
+ class LoopRule
3
+ attr_accessor count: Integer
4
+
5
+ def desc: () -> String
6
+
7
+ def is_conform_rule?: (Time) -> bool
8
+ end
9
+ end
@@ -0,0 +1,5 @@
1
+ module TaskLoop
2
+ module ProjTaskList
3
+ def proj_tasklist_map: () -> Hash[Symbol, Array[Task]]
4
+ end
5
+ end
@@ -0,0 +1,11 @@
1
+ module TaskLoop
2
+ class Rule
3
+ UNIT: Hash[Symbol, Integer]
4
+
5
+ attr_accessor unit: Symbol
6
+
7
+ def desc: () -> String
8
+
9
+ def is_conform_rule?: (Time) -> bool
10
+ end
11
+ end
@@ -0,0 +1,11 @@
1
+ module TaskLoop
2
+ class Run
3
+ def run: () -> void
4
+
5
+ private
6
+
7
+ def execute_task: (String, Task) -> void
8
+
9
+ def execute_tasks_if_needed: () -> void
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ module TaskLoop
2
+ class ScopeRule
3
+ SCOPE: Hash[Symbol, Integer]
4
+
5
+ attr_accessor scope: Symbol
6
+
7
+ def desc: () -> String
8
+ end
9
+ end
@@ -0,0 +1,7 @@
1
+ module TaskLoop
2
+ class Shutdown
3
+ def run: () -> void
4
+
5
+ def unregister_taskloop_from_crontab_if_needed: () -> void
6
+ end
7
+ end
@@ -0,0 +1,11 @@
1
+ module TaskLoop
2
+ class SpecificRule
3
+ attr_accessor values: Array[Symbol | Integer]
4
+
5
+ def desc: () -> String
6
+
7
+ def is_conform_rule?: (Time) -> bool
8
+
9
+ def values_values: () -> Integer
10
+ end
11
+ end
@@ -0,0 +1,9 @@
1
+ module TaskLoop
2
+ class StartPointBoundaryRule
3
+ attr_accessor value: String
4
+
5
+ def desc: () -> String
6
+
7
+ def is_conform_rule?: (Time) -> bool
8
+ end
9
+ end
@@ -0,0 +1,34 @@
1
+ module TaskLoop
2
+ class Task
3
+ DAY_MIN: Integer
4
+ HOUR_MIN: Integer
5
+ MONTH_MIN: Integer
6
+ YEAR_MIN: Integer
7
+
8
+ def self.tasklist: () -> Array[Task]
9
+
10
+ def self.tasklist=: (Array[Task]) -> void
11
+
12
+ def check_all_rules?: () -> bool
13
+
14
+ def check_rule_conflict?: () -> bool
15
+
16
+ def deploy_lint?: () -> bool
17
+
18
+ def desc: () -> String
19
+
20
+ def sha1: () -> String
21
+
22
+ private
23
+
24
+ def check_boundary_rule?: (Time) -> bool
25
+
26
+ def check_interval_rule?: (Time) -> bool
27
+
28
+ def check_loop_rule?: (Time) -> bool
29
+
30
+ def check_scope_rule?: (Time) -> bool
31
+
32
+ def check_specific_fule?: (Time) -> bool
33
+ end
34
+ end
@@ -0,0 +1,23 @@
1
+ module TaskLoop
2
+ module TaskDataFile
3
+ attr_accessor data_proj_dir: String
4
+
5
+ def logfile_name: () -> String
6
+
7
+ def logfile_path: () -> String
8
+
9
+ def loopfile_name: () -> String
10
+
11
+ def loopfile_path: () -> String
12
+
13
+ def timefile_name: () -> String
14
+
15
+ def timefile_path: () -> String
16
+
17
+ def write_to_logfile: (String) -> void
18
+
19
+ def write_to_loopfile: (String) -> void
20
+
21
+ def write_to_timefile: (String) -> void
22
+ end
23
+ end
@@ -0,0 +1,83 @@
1
+ module TaskLoop
2
+ module TaskProperty
3
+ DAY: Hash[Symbol, Integer]
4
+ MONTH: Hash[Symbol, Integer]
5
+ WEEK: Hash[Symbol, Integer]
6
+
7
+ @date: [DateListRule | DefaultRule]
8
+ @day: [SpecificRule | ScopeRule | IntervalRule | DefaultRule]
9
+ @end_point: [EndPointBoundaryRule | DefaultRule]
10
+ @hour: [SpecificRule | ScopeRule | IntervalRule | DefaultRule]
11
+ @loop: [LoopRule | DefaultRule]
12
+ @minute: [SpecificRule | IntervalRule| DefaultRule]
13
+ @month: [SpecificRule | ScopeRule | IntervalRule | DefaultRule]
14
+ @start_point: [StartPointBoundaryRule | DefaultRule]
15
+ @time: [TimeListRule | DefaultRule]
16
+ @week: [SpecificRule | ScopeRule | DefaultRule]
17
+
18
+ @year: [SpecificRule | ScopeRule | IntervalRule | DefaultRule]
19
+
20
+ attr_accessor name: String
21
+ attr_accessor path: String
22
+
23
+ def date: () -> [DateListRule | DefaultRule]
24
+
25
+ def date=: (DateListRule) -> void
26
+
27
+ def day: () -> [SpecificRule | ScopeRule | IntervalRule | DefaultRule]
28
+
29
+ def day=: ([SpecificRule | ScopeRule | IntervalRule]) -> void
30
+
31
+ def end_point: () -> [EndPointBoundaryRule | DefaultRule]
32
+
33
+ def end_point=: (EndPointBoundaryRule) -> void
34
+
35
+ def has_date?: () -> bool
36
+
37
+ def has_hm?: () -> bool
38
+
39
+ def has_interval_rule?: () -> bool
40
+
41
+ def has_time?: () -> bool
42
+
43
+ def has_week?: () -> bool
44
+
45
+ def has_ymd?: () -> bool
46
+
47
+ def hour: () -> [SpecificRule | ScopeRule | IntervalRule | DefaultRule]
48
+
49
+ def hour=: ([SpecificRule | ScopeRule | IntervalRule]) -> void
50
+
51
+ def last_time: () -> Time
52
+
53
+ def loop: () -> [LoopRule | DefaultRule]
54
+
55
+ def loop=: (LoopRule) -> void
56
+
57
+ def loop_count: () -> Integer
58
+
59
+ def minute: () -> [SpecificRule | IntervalRule]
60
+
61
+ def minute=: ([SpecificRule | IntervalRule]) -> void
62
+
63
+ def month: () -> [SpecificRule | ScopeRule | IntervalRule | DefaultRule]
64
+
65
+ def month=: ([SpecificRule | ScopeRule | IntervalRule]) -> void
66
+
67
+ def start_point: () -> [StartPointBoundaryRule | DefaultRule]
68
+
69
+ def start_point=: (StartPointBoundaryRule) -> void
70
+
71
+ def time: () -> [TimeListRule | DefaultRule]
72
+
73
+ def time=: (TimeListRule) -> void
74
+
75
+ def week: () -> [SpecificRule | ScopeRule | DefaultRule]
76
+
77
+ def week=: ([SpecificRule | ScopeRule]) -> void
78
+
79
+ def year: () -> [SpecificRule | ScopeRule | IntervalRule | DefaultRule]
80
+
81
+ def year=: ([SpecificRule | ScopeRule | IntervalRule]) -> void
82
+ end
83
+ end
@@ -0,0 +1,13 @@
1
+ module TaskLoop
2
+ class TimeListRule
3
+ attr_writer times: Array[String]
4
+
5
+ def desc: () -> String
6
+
7
+ def is_conform_rule?: (Time) -> bool
8
+
9
+ def times: () -> Array[String]
10
+
11
+ def times_values: () -> Array[Time]
12
+ end
13
+ end
@@ -0,0 +1,7 @@
1
+ module TaskLoop
2
+ class Undeploy
3
+ def remove_proj_path_from_projlist: () -> void
4
+
5
+ def run: () -> void
6
+ end
7
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: taskloop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - baochuquan
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-26 00:00:00.000000000 Z
11
+ date: 2023-07-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: claide
@@ -59,13 +59,16 @@ files:
59
59
  - lib/taskloop/rules/after_scope_rule.rb
60
60
  - lib/taskloop/rules/before_scope_rule.rb
61
61
  - lib/taskloop/rules/between_scope_rule.rb
62
+ - lib/taskloop/rules/boundary_rule.rb
62
63
  - lib/taskloop/rules/date_list_rule.rb
63
64
  - lib/taskloop/rules/default_rule.rb
65
+ - lib/taskloop/rules/end_point_boundary_rule.rb
64
66
  - lib/taskloop/rules/interval_rule.rb
65
67
  - lib/taskloop/rules/loop_rule.rb
66
68
  - lib/taskloop/rules/rule.rb
67
69
  - lib/taskloop/rules/scope_rule.rb
68
70
  - lib/taskloop/rules/specific_rule.rb
71
+ - lib/taskloop/rules/start_point_boundary_rule.rb
69
72
  - lib/taskloop/rules/time_list_rule.rb
70
73
  - lib/taskloop/task/task.rb
71
74
  - lib/taskloop/task/task_data_file.rb
@@ -73,6 +76,36 @@ files:
73
76
  - lib/taskloop/task/task_property.rb
74
77
  - lib/taskloop/utils/proj_tasklist.rb
75
78
  - lib/taskloop/version.rb
79
+ - sig/integer.rbs
80
+ - sig/string.rbs
81
+ - sig/task_loop/after_scope_rule.rbs
82
+ - sig/task_loop/before_scope_rule.rbs
83
+ - sig/task_loop/between_scope_rule.rbs
84
+ - sig/task_loop/boundary_rule.rbs
85
+ - sig/task_loop/date_list_rule.rbs
86
+ - sig/task_loop/default_rule.rbs
87
+ - sig/task_loop/deploy.rbs
88
+ - sig/task_loop/dsl.rbs
89
+ - sig/task_loop/end_point_boundary_rule.rbs
90
+ - sig/task_loop/env.rbs
91
+ - sig/task_loop/init.rbs
92
+ - sig/task_loop/interval_rule.rbs
93
+ - sig/task_loop/launch.rbs
94
+ - sig/task_loop/list.rbs
95
+ - sig/task_loop/log.rbs
96
+ - sig/task_loop/loop_rule.rbs
97
+ - sig/task_loop/proj_task_list.rbs
98
+ - sig/task_loop/rule.rbs
99
+ - sig/task_loop/run.rbs
100
+ - sig/task_loop/scope_rule.rbs
101
+ - sig/task_loop/shutdown.rbs
102
+ - sig/task_loop/specific_rule.rbs
103
+ - sig/task_loop/start_point_boundary_rule.rbs
104
+ - sig/task_loop/task.rbs
105
+ - sig/task_loop/task_data_file.rbs
106
+ - sig/task_loop/task_property.rbs
107
+ - sig/task_loop/time_list_rule.rbs
108
+ - sig/task_loop/undeploy.rbs
76
109
  - sig/taskloop.rbs
77
110
  - taskloop.gemspec
78
111
  homepage: https://github.com/baochuquan/taskloop