kronos-ruby 0.1.1.alpha.3 → 0.1.1

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: be2eb1ca51040bd4c6f53ceaa437b3c49dac4d05
4
- data.tar.gz: 58345cec2cd6c1e8fe10ee29b6a4b9127b186014
3
+ metadata.gz: 13abdd6e69480f4bd7c7daed7d11aaeef64eb0a9
4
+ data.tar.gz: bcca4759f653d84d477633aa5b65e75549aed2ce
5
5
  SHA512:
6
- metadata.gz: b411f7478d3a6f9cded78a37b9b2cbc3412019846ee19ddfc0c10a1f1e6e5425b019ada4130ddbd49ebf2624de7c6c4196c9512edf85f943418eb11c6dc48760
7
- data.tar.gz: 21df651033dfa4efbfeb21869e607977305cbbb627b47dcfdeeeac12c917dfb06e39af0ba14c6e88392c0f561e987943eff37f8bd06e9b311afb2de7e5b54167
6
+ metadata.gz: 470e653590c7b057c4cea61da905d4b8eee22a0fc10f0741c58a189e1a30581ab5a0e7963a38f33e81402b096d65aba3967647679a4e4b151eb86903e898c1b3
7
+ data.tar.gz: 56f1cbcd229386165c9e63c00cda473e9b0332a6d68117180e7bb2ba58eff19b7e3e3f7954d848170c9141fdd425cb289cac4ae37a02d60a4da2416992d8f69b
data/CHANGELOG.md CHANGED
@@ -3,7 +3,6 @@
3
3
  ## CHANGELOG
4
4
 
5
5
  ### Unreleased
6
- - [Added] Mongo Storage
7
6
 
8
7
  ### 0.1.1 [2017-09-21]
9
8
  - [Added] Logger structure (Stdout and Slack)
data/kronos-ruby.gemspec CHANGED
@@ -25,7 +25,6 @@ Gem::Specification.new do |spec|
25
25
 
26
26
  spec.add_dependency 'concurrent-ruby'
27
27
  spec.add_dependency 'chronic'
28
- spec.add_dependency 'mongoid'
29
28
  spec.add_development_dependency 'bundler'
30
29
  spec.add_development_dependency 'coveralls'
31
30
  spec.add_development_dependency 'fasterer'
@@ -6,4 +6,3 @@ module Kronos
6
6
  end
7
7
 
8
8
  require 'kronos/storage/in_memory'
9
- require 'kronos/storage/mongo_db'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kronos-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1.alpha.3
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gabriel Teles
@@ -38,20 +38,6 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: mongoid
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ">="
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: bundler
57
43
  requirement: !ruby/object:Gem::Requirement
@@ -259,9 +245,6 @@ files:
259
245
  - lib/kronos/scheduled_task.rb
260
246
  - lib/kronos/storage.rb
261
247
  - lib/kronos/storage/in_memory.rb
262
- - lib/kronos/storage/mongo/model/report_model.rb
263
- - lib/kronos/storage/mongo/model/scheduled_task_model.rb
264
- - lib/kronos/storage/mongo_db.rb
265
248
  - lib/kronos/task.rb
266
249
  - lib/kronos/version.rb
267
250
  - lib/kronos/web.rb
@@ -282,9 +265,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
282
265
  version: '0'
283
266
  required_rubygems_version: !ruby/object:Gem::Requirement
284
267
  requirements:
285
- - - ">"
268
+ - - ">="
286
269
  - !ruby/object:Gem::Version
287
- version: 1.3.1
270
+ version: '0'
288
271
  requirements: []
289
272
  rubyforge_project:
290
273
  rubygems_version: 2.4.8
@@ -1,20 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'mongoid'
4
-
5
- module Kronos
6
- module Storage
7
- module Mongo
8
- module Model
9
- class ReportModel
10
- include Mongoid::Document
11
- store_in collection: :kronos_reports
12
-
13
- field :task_id, type: Symbol
14
- field :metadata, type: Hash
15
- field :timestamp, type: Time
16
- end
17
- end
18
- end
19
- end
20
- end
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'mongoid'
4
-
5
- module Kronos
6
- module Storage
7
- module Mongo
8
- module Model
9
- class ScheduledTaskModel
10
- include Mongoid::Document
11
- store_in collection: :kronos_scheduled_tasks
12
-
13
- field :task_id, type: Symbol
14
- field :next_run, type: Time
15
- end
16
- end
17
- end
18
- end
19
- end
@@ -1,77 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'kronos/storage/mongo/model/scheduled_task_model'
4
- require 'kronos/storage/mongo/model/report_model'
5
-
6
- module Kronos
7
- module Storage
8
- # :reek:UtilityFunction:
9
- class MongoDb
10
- SHEDULED_TASK_MODEL = Mongo::Model::ScheduledTaskModel
11
- REPORT_MODEL = Mongo::Model::ReportModel
12
-
13
- def scheduled_tasks
14
- # Returns all current Kronos::ScheduledTask, resolved or pending
15
- SHEDULED_TASK_MODEL.all
16
- end
17
-
18
- def schedule(scheduled_task)
19
- # Removes any Kronos::ScheduledTask with same task ID and saves the one in parameter
20
- remove(scheduled_task.task_id)
21
- SHEDULED_TASK_MODEL.create(scheduled_task_params(scheduled_task))
22
- end
23
-
24
- def resolved_tasks
25
- # Returns a list of task ids that where resolved (where scheduled_task.next_run <= Time.now)
26
- tasks = []
27
- SHEDULED_TASK_MODEL.where(:next_run.lte => Time.now).each do |scheduled_task_model|
28
- tasks << Kronos::ScheduledTask.new(scheduled_task_model.id, scheduled_task_model.next_run)
29
- end
30
- tasks
31
- end
32
-
33
- def remove(task_id)
34
- # Removes scheduled tasks with task_id
35
- SHEDULED_TASK_MODEL.where(task_id: task_id).destroy_all
36
- end
37
-
38
- def reports
39
- # Returns all previous Kronos::Report that were saved using #register_report
40
- REPORT_MODEL.all
41
- end
42
-
43
- def register_report(report)
44
- # Removes any Kronos::Report with same task ID and saves the one in parameter
45
- remove_reports_for(report.task_id)
46
- REPORT_MODEL.create(report_params(report))
47
- end
48
-
49
- def remove_reports_for(task_id)
50
- # Removes reports with task_id
51
- REPORT_MODEL.where(task_id: task_id).destroy_all
52
- end
53
-
54
- def pending?(task)
55
- # Checks if task has any pending scheduled task (where scheduled_task.next_run > Time.now)
56
- SHEDULED_TASK_MODEL.where(task_id: task.id).first.next_run > Time.now
57
- end
58
-
59
- private
60
-
61
- def scheduled_task_params(scheduled_task)
62
- {
63
- task_id: scheduled_task.task_id,
64
- next_run: scheduled_task.next_run
65
- }
66
- end
67
-
68
- def report_params(report)
69
- {
70
- task_id: report.task_id,
71
- metadata: report.metadata,
72
- timestamp: report.timestamp
73
- }
74
- end
75
- end
76
- end
77
- end