gnomon 0.1.5 → 1.0.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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/gnomon.rb +24 -24
  3. data/lib/gnomon/version.rb +1 -1
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b469cb0fddada2cb893d4139ce126ea9e5aa143d
4
- data.tar.gz: e697d7b0d9f83b3dd2bdee5f40739f7e681428fa
3
+ metadata.gz: 2df2fb4bd5565c7a0e51b29646d1a403e6d083e9
4
+ data.tar.gz: bd3ecdcfb103a8078f8fdc26a7c5becd2d278ae7
5
5
  SHA512:
6
- metadata.gz: 6c9070fff89e68b8fa340e9857caf08ffdab3516bb53a108a4c06be4484c77b02e1bd24e5a2e85be27967e9a5f591a88463df8f23b0b195c3266d21db461e782
7
- data.tar.gz: 962f27e6d37f823e187d767dc533f64a5474582269745bc3508f947dc799ea06525b19463417e66d6afc1fef54888fe4d88b8e6616ffee1330491643612ea778
6
+ metadata.gz: 0136237e49d7ca5b449e42320e26d5b416654cfee9f95adf4c8a4b3c0e29da9d0c2a2baef135b09deb0186c7e0ce00ab99ae9509f45b47f1300cc0b5cd0cb401
7
+ data.tar.gz: aff7291a48f8d79739d4022d3dd165df498f23d1df6fc895596ed3e8284f2e749ba604ee860910d119517bfa31449b19d4e06228a667e58db3d966114fbacc3d
data/lib/gnomon.rb CHANGED
@@ -9,8 +9,8 @@ require 'date'
9
9
  require 'thread'
10
10
  require 'runify'
11
11
 
12
- # Gnomon Class
13
- # Root Class for Gnomon
12
+ # Gnomon Class:
13
+ # Root Class for Gnomon.
14
14
  class Gnomon
15
15
 
16
16
  # Runify
@@ -19,8 +19,8 @@ class Gnomon
19
19
  # Defaults
20
20
  DEFAULT_GRANULARITY = 1
21
21
 
22
- # Construct
23
- # Creates a new Gnomon instance
22
+ # Construct:
23
+ # Creates a new Gnomon instance.
24
24
  # @param [Float] granularity The desired resolution of the event queue, in seconds
25
25
  def initialize granularity = DEFAULT_GRANULARITY
26
26
 
@@ -37,8 +37,8 @@ class Gnomon
37
37
  @lock = Mutex.new
38
38
  end
39
39
 
40
- # Schedule Event
41
- # Schedules a generic event
40
+ # Schedule Event:
41
+ # Schedules a generic event.
42
42
  # @param [Object] id An ID for later de-scheduling of this event
43
43
  # @param [Symbol] mode The mode of scheduling - can be any of [ :at, :in, :every ]
44
44
  # @param [Hash] mode_options Mode-specific options hash - See documentation for desired mode
@@ -68,8 +68,8 @@ class Gnomon
68
68
  end
69
69
  end
70
70
 
71
- # Schedule Event at a given date/time
72
- # Shortcut to schedule an event to be triggered once at a specific date/time
71
+ # Schedule Event at a given date/time:
72
+ # Shortcut to schedule an event to be triggered once at a specific date/time.
73
73
  # @param [Object] id
74
74
  # @param [String] date_time A date / time string
75
75
  # @param [Object] args
@@ -78,8 +78,8 @@ class Gnomon
78
78
  schedule id, :at, {}, date_time, *args, &block
79
79
  end
80
80
 
81
- # Schedule Event in a given number of seconds
82
- # Shortcut to schedule an event to be triggered once after a given amount of time
81
+ # Schedule Event in a given number of seconds:
82
+ # Shortcut to schedule an event to be triggered once after a given amount of time.
83
83
  # @param [Object] id
84
84
  # @param [Float] time
85
85
  # @param [Object] args
@@ -88,8 +88,8 @@ class Gnomon
88
88
  schedule id, :in, {}, time, *args, &block
89
89
  end
90
90
 
91
- # Schedule Event at a given interval (seconds)
92
- # Shortcut to schedule an event to be triggered periodically at a given time interval
91
+ # Schedule Event at a given interval (seconds):
92
+ # Shortcut to schedule an event to be triggered periodically at a given time interval.
93
93
  # @param [Object] id
94
94
  # @param [Float] interval
95
95
  # @param [boolean] async When true, schedule the next trigger before actually running the event's block - otherwise, schedule the next trigger only once the event block completes
@@ -99,8 +99,8 @@ class Gnomon
99
99
  schedule id, :every, { async: async }, interval, *args, &block
100
100
  end
101
101
 
102
- # De-schedule
103
- # Removes one or more previously-scheduled events from the scheduler
102
+ # De-schedule:
103
+ # Removes one or more previously-scheduled events from the scheduler.
104
104
  # @param [Object] id The ID of the event(s) to remove (all events with this ID will be removed)
105
105
  # @param [Object] keep_running When true, the next trigger is maintained
106
106
  def deschedule id, keep_running = false
@@ -120,8 +120,8 @@ class Gnomon
120
120
  # Privates
121
121
  private
122
122
 
123
- # Enqueue Next Run
124
- # Registers the next run for a given event into the event queue
123
+ # Enqueue Next Run:
124
+ # Registers the next run for a given event into the event queue.
125
125
  # @param [Hash] event
126
126
  def enqueue_next_run event
127
127
  next_run = next_run event[:mode], event[:ts]
@@ -129,8 +129,8 @@ class Gnomon
129
129
  @equeue.insert pos, { next_run: next_run, event: event }
130
130
  end
131
131
 
132
- # Determine Next Run
133
- # Determines when to trigger the next run for a given event
132
+ # Determine Next Run:
133
+ # Determines when to trigger the next run for a given event.
134
134
  # @param [Symbol] mode
135
135
  # @param [Object] ts
136
136
  # @return [Float] A floating-point timestamp representing the time at which to trigger the next run
@@ -145,14 +145,14 @@ class Gnomon
145
145
  end
146
146
  end
147
147
 
148
- # Run
149
- # Main Loop
148
+ # Run:
149
+ # Executes the main loop.
150
150
  def run
151
151
  update until @stop
152
152
  end
153
153
 
154
- # Update
155
- # Update Gnomon's internal states
154
+ # Update:
155
+ # Updates Gnomon's internal states.
156
156
  def update
157
157
 
158
158
  # Synchronize { Trigger Next Event in Queue }
@@ -162,8 +162,8 @@ class Gnomon
162
162
  sleep @granularity
163
163
  end
164
164
 
165
- # Trigger Event
166
- # Triggers an event, executing its block and re-scheduling the next run when appropriate
165
+ # Trigger Event:
166
+ # Triggers an event, executing its block and re-scheduling the next run when appropriate.
167
167
  # @param [Hash] event
168
168
  def trigger event
169
169
 
@@ -5,5 +5,5 @@
5
5
  class Gnomon
6
6
 
7
7
  # Version
8
- VERSION = '0.1.5'
8
+ VERSION = '1.0.0'
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gnomon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eresse
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-01 00:00:00.000000000 Z
11
+ date: 2017-03-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -101,7 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
101
  version: '0'
102
102
  requirements: []
103
103
  rubyforge_project:
104
- rubygems_version: 2.6.10
104
+ rubygems_version: 2.5.1
105
105
  signing_key:
106
106
  specification_version: 4
107
107
  summary: Simple event scheduling for Ruby