kronos-ruby 0.1.1.alpha.3 → 0.1.1

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