taskloop 0.1.0 → 0.2.0

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.
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