scheduled_resource 0.0.2 → 0.0.3

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: 27d68cd9863e57b1473f9c98b09ef6be468f8d66
4
- data.tar.gz: 1d31544b38529bf2b7d4ffcd64c8fbb71bb27d50
3
+ metadata.gz: ea444d3e4889204a4908f8551a04f106a3f44790
4
+ data.tar.gz: b6291de573f780226d71b4f815d32214b7df5eb7
5
5
  SHA512:
6
- metadata.gz: 1e246e4d439011ef2a3f0248b5c6f2fbf4f34718fafa494fec0afd606022c3bb9dd34ea58afa1dbccce9980c0e62255cf597d53b0bbe30c6a405674714632909
7
- data.tar.gz: 548284a3a3abfa0da69c4220ecd85d78d228f640a7a9d031f5104b6b342e731afe01ddbbb224a2c8cbb12b02f91b1befc10a23511682b8b1761f4bf35f004dab
6
+ metadata.gz: cd239e9b46dd9bf90b8bd287ab8247b78b2f125a78e0a92bbdc34a5cf3522b3875fc7d2518c608c7026e19eea8951c779b1a8a5b5e20046228ceb47e78198332
7
+ data.tar.gz: e75af2e6464b0ee799c8f5a64582c9fff89357196ad535227877c5a8777f5f4346595e8bbb8bbd93477cb7f4e7d5ea7a6ee2ec92843c76a7b8c3c7d7a699a1df
@@ -9,6 +9,9 @@ class @TimePix # Ultimately, an angular $service
9
9
  $('#scrollbar-hider').css('width', @pixWindow + 61 + 'px' )
10
10
 
11
11
 
12
+ ##############################################################################
13
+ # 'meta' part of latest returned json + overall display data
14
+ #
12
15
  @baseTime: 0
13
16
  @timeWindow: (3 * 3600)
14
17
  @pixWindow: 750 # Matching width of #scrolling-container
@@ -27,6 +30,7 @@ class @TimePix # Ultimately, an angular $service
27
30
  @thi = @thi && Math.max( @thi, @meta.t2 ) || @meta.t2
28
31
  @inc = @meta.inc
29
32
  @timeWindow = @meta.visible_time if @meta.visible_time
33
+ ##############################################################################
30
34
 
31
35
  @next_hi: -> @thi + @timeWindow
32
36
  @next_lo: -> @tlo - @timeWindow
@@ -44,6 +48,12 @@ class @TimePix # Ultimately, an angular $service
44
48
  "left: #{@secs_to_pix_scale(s - @baseTime)}px; " +
45
49
  "width: #{@secs_to_pix_scale(e-s)-4}px;"
46
50
 
51
+ # Reactjs prefers this variant
52
+ @style_geo_hash: (block) ->
53
+ [s, e] = [block.starttime, block.endtime] # per margins V
54
+ left: "#{@secs_to_pix_scale(s - @baseTime)}px"
55
+ width: "#{@secs_to_pix_scale(e-s)-4}px"
56
+
47
57
  @row_kind: (tag) -> # may/may not belong here.
48
58
  tag.split('_')[0]
49
59
 
@@ -91,9 +101,9 @@ class @TimePix # Ultimately, an angular $service
91
101
  r_vis_time = l_vis_time + @timeWindow
92
102
 
93
103
  if r_vis_time > @thi
94
- RsrcListCtrlScope.$apply RsrcListCtrlScope.more_data
104
+ @expand_data 'more_data'
95
105
  else if l_vis_time < @tlo
96
- RsrcListCtrlScope.$apply RsrcListCtrlScope.less_data
106
+ @expand_data 'less_data'
97
107
  else
98
108
  if new Date() - @scroll_monitor.scroll_timestamp > 1000
99
109
  filter_justify_tweaks( sc ) # Try to make scrolled-off content visible
@@ -101,3 +111,11 @@ class @TimePix # Ultimately, an angular $service
101
111
 
102
112
  setTimeout @scroll_monitor, 100
103
113
 
114
+
115
+ # Angular-vs-react issues
116
+ @expand_data: (method_name) ->
117
+ if TopResourceSchedule?
118
+ TopResourceSchedule[method_name]()
119
+ else
120
+ RsrcListCtrlScope.$apply RsrcListCtrlScope[method_name]
121
+ return
@@ -7,6 +7,7 @@
7
7
  require 'scheduled_resource/version'
8
8
  require 'scheduled_resource/resource_use_block'
9
9
  require 'scheduled_resource/helper'
10
+ require 'scheduled_resource/config'
10
11
 
11
12
  require 'z_time_header'
12
13
  require 'z_time_header_day'
@@ -24,7 +25,7 @@ require 'z_time_label_hour'
24
25
  # schedule. An instance ties together:
25
26
  #
26
27
  # 1. A resource class (eg Room),
27
- # 2. An id, and
28
+ # 2. An id (string), and
28
29
  # 3. Strings / html snippets (eg, label, title) for the DOM.
29
30
  #
30
31
  # The id (2 above) is used to
@@ -41,15 +42,7 @@ require 'z_time_label_hour'
41
42
  #
42
43
  # Items 1 and 2 are are combined (with a '_') to form "tags" (ids) for the DOM.
43
44
  #
44
- # See also: ResourceUseBlock.
45
- #
46
- #--
47
- # Config is loaded from config/schedule.yml:
48
- # all_resources:: Resources in display order.
49
- # rsrcs_by_kind:: A hash with resources grouped by kind (resource class).
50
- # rsrc_of_tag:: Indexed by text tag: kind_subid.
51
- # \visible_time:: Span of time window.
52
- #++
45
+ # See also: ResourceUseBlock, Config.
53
46
  #
54
47
  # When queried with an array of ids and a time interval, the class
55
48
  # method <tt>get_all_blocks(ids, t1, t2)</tt> of a <em>resource use</em>
@@ -63,172 +56,84 @@ require 'z_time_label_hour'
63
56
  #
64
57
  class ScheduledResource
65
58
 
66
- CONFIG_FILE = "config/resource_schedule.yml"
67
-
68
- class_attribute :config
69
-
70
- # (ScheduledResource protocol) Returns a hash where each key is an
71
- # <tt>rid</tt> and the value is an array of resource use
72
- # blocks in the interval <tt>t1...t2</tt>, ordered by
73
- # <tt>starttime</tt>.
74
- #
75
- # What <em>in</em> means depends on <em>inc</em>. If inc(remental) is
76
- # false, the client is building the interval from scratch. If "hi", it is
77
- # an addition to an existing interval on the high side. Similarly
78
- # for "lo". This is to avoid re-transmitting blocks that span the
79
- # current time boundaries on the client.
80
- #
81
- # Here the resource is a channel and the use blocks are programs.
82
- #
83
- # ==== Parameters
84
- # * <tt>rids</tt> - A list of schedules resource ids (strings).
85
- # * <tt>t1</tt> - Start time.
86
- # * <tt>t2</tt> - End time.
87
- # * <tt>inc</tt> - One of nil, "lo", "hi" (See above).
88
- #
89
- # ==== Returns
90
- # * <tt>Hash</tt> - Each key is an <tt>rid</tt> and the value is an array of resource use blocks in the interval, ordered by <tt>starttime</tt>.
91
- def self.get_all_blocks(t1, t2, inc)
92
- blockss = {}
93
-
94
- config[:rsrcs_by_kind].each do |kind, rsrcs|
95
- rub_class = block_class_for_resource_name kind
96
- rids = rsrcs.map{ |r| r.sub_id }
97
- ru_blkss = rub_class.get_all_blocks rids, t1, t2, inc
59
+ class_attribute :rsrc_of_tag
60
+ self.rsrc_of_tag = {}
61
+
62
+ class << self
63
+ # (ScheduledResource protocol) Returns a hash where each key is an
64
+ # <tt>rid</tt> and the value is an array of resource use
65
+ # blocks in the interval <tt>t1...t2</tt>, ordered by
66
+ # <tt>starttime</tt>.
67
+ #
68
+ # What <em>in</em> means depends on <em>inc</em>. If inc(remental) is
69
+ # false, the client is building the interval from scratch. If "hi", it is
70
+ # an addition to an existing interval on the high side. Similarly
71
+ # for "lo". This is to avoid re-transmitting blocks that span the
72
+ # current time boundaries on the client.
73
+ #
74
+ # Here the resource is a channel and the use blocks are programs.
75
+ #
76
+ # ==== Parameters
77
+ # * <tt>config</tt> - A configuration instance.
78
+ # * <tt>t1</tt> - Start time.
79
+ # * <tt>t2</tt> - End time.
80
+ # * <tt>inc</tt> - One of nil, "lo", "hi" (See above).
81
+ #
82
+ # ==== Returns
83
+ # * <tt>Hash</tt> - Each key is an <tt>rid</tt>; value is a list of blocks.
84
+ def get_all_blocks(config, t1, t2, inc)
85
+ blockss = {}
86
+
87
+ config.rsrcs_by_kind.each do |kind, rsrcs|
88
+ rub_class = config.block_class_for_resource_name kind
89
+ rids = rsrcs.map{ |r| r.sub_id }
90
+ ru_blkss = rub_class.get_all_blocks rids, t1, t2, inc
91
+
92
+ add_rubs_of_kind kind, ru_blkss, blockss
93
+ end
98
94
 
99
- add_rubs_of_kind kind, ru_blkss, blockss
95
+ blockss
100
96
  end
101
97
 
102
- blockss
103
- end
104
-
105
-
106
- # ==== Parameters
107
- # * <tt>name</tt> - The class name (string) of a schedule resource.
108
- #
109
- # ==== Returns
110
- # * <tt>Class</tt> - The class representing the <em>use</em> of that resource for an interval of time.
111
- def self.block_class_for_resource_name( name )
112
- config[:block_class_for_resource_kind][name].constantize
113
- end
114
-
115
-
116
- # ==== Returns
117
- # * <tt>Array[ScheduledResource]</tt> - List of configured ScheduledResources.
118
- def self.resource_list; config[:all_resources] end
119
-
120
- # ==== Returns
121
- # * <tt>Time</tt> - The configured width of the visible time window.
122
- def self.visible_time; config[:visible_time] end
123
-
124
-
125
- #--
126
- # Restore configuration from session.
127
- #
128
- # When we depend on data in the configuration to satisfy a query we are not
129
- # being RESTful. On the other hand we are not maintaining changeable state
130
- # here -- it's just a cache. If there <em>were</em> changeable state it
131
- # would likely be kept, eg, in a per-user table in the database.
132
- #++
133
- def self.ensure_config( session ) # :nodoc:
134
- return if (self.config ||= session[:schedule_config])
135
-
136
- config_from_yaml( session )
137
- end
138
-
139
-
140
- # ToDo: Generalize this so configuration can be loaded on per-user.
141
- # Process configuration file.
142
- def self.config_from_yaml( session )
143
- config_from_yaml1
144
- config_from_yaml2 session
145
- config
146
- end
147
-
98
+ def compose_tag( kind, sub_id ); "#{kind}_#{sub_id}" end
148
99
 
149
- private
150
- # A caching one-of-each-sort constructor.
151
- #
152
- # ==== Parameters
153
- # * <tt>kind</tt> - Class name (string) of a scheduled resource.
154
- # * <tt>sub_id</tt> - Id (string), selecting a resource instance. The two are combined and used as a unique tag in the DOM as id and class attributes as well as in server code.
155
- def self.get_for( kind, sub_id )
156
- tag = compose_tag( kind, sub_id )
157
- config[:rsrc_of_tag][ tag ] || self.new( kind, sub_id )
158
- end
159
-
160
- def self.compose_tag( kind, sub_id ); "#{kind}_#{sub_id}" end
100
+ def make_resource_of_kind( klass, rid )
101
+ klass = klass.constantize if klass.is_a? String # ToDo: Trim this.
102
+ get_for( klass.name, rid )
103
+ end
161
104
 
162
- def self.config_from_yaml1()
163
- self.config = { all_resources: [],
164
- rsrc_of_tag: {},
165
- block_class_for_resource_kind: {}
166
- }
167
- yml = YAML.load_file CONFIG_FILE
168
105
 
169
- yml['ResourceKinds'].each do |key, val| # {"Channel" => "Program"...}
170
- config[:block_class_for_resource_kind][key] = val # class name (string)
106
+ private
107
+ # A caching one-of-each-sort constructor.
108
+ #
109
+ # ==== Parameters
110
+ # * <tt>kind</tt> - Class name (string) of a scheduled resource.
111
+ # * <tt>rid</tt> - Id (string), selecting a resource instance. The two are combined and used as a unique tag in the DOM as id and class attributes as well as in server code.
112
+ def get_for( kind, rid )
113
+ tag = compose_tag( kind, rid )
114
+ # config[:rsrc_of_tag][ tag ] || self.new( kind, rid )
115
+ rsrc_of_tag[ tag ] || new( kind, rid )
171
116
  end
172
117
 
173
- if (rkls = yml['Resources']) # Resource Kind Lists, eg
174
- rkls.each do |rkl| # ["TimeheaderHour", "Hour0"]
175
- rkl = rkl.split(/[, ]+/) # ["Channel", "702", "703",... ]
176
- rk = rkl.shift
177
- add_resources rkl.map{ |sub_id| make_resource_of_kind(rk, sub_id) }
118
+ def add_rubs_of_kind( kind, ru_blkss, blockss )
119
+ ru_blkss.each do |rid, blks|
120
+ rsrc = get_for( kind, rid )
121
+ rubs = blks.map{ |blk| ResourceUseBlock.new rsrc, blk }
122
+ blockss[ rsrc ] = rubs
178
123
  end
179
124
  end
180
125
 
181
- vt = yml['visibleTime']
182
- config[:visible_time] = vt ? (eval vt) : 3.hours
183
-
184
- t0 = yml['timeRangeMin']
185
- config[:time_range_min] = t0 ? (eval t0) : (Time.now - 1.week)
186
-
187
- tn = yml['timeRangeMax']
188
- config[:time_range_max] = tn ? (eval tn) : (Time.now + 1.week)
189
-
190
- config
191
- end
192
-
193
-
194
- def self.add_resources(rsrcs)
195
- rs = config[:all_resources]
196
- rsrcs.each{ |rsrc| rs.include?( rsrc ) || rs << rsrc }
197
- end
198
-
199
-
200
- def self.config_from_yaml2( session )
201
- config[:rsrcs_by_kind] = resource_list.group_by{ |r| r.kind }
202
-
203
- config[:rsrcs_by_kind].each do |kind, rsrcs|
204
- klass = kind.constantize
205
- rsrcs.each {|rsrc| klass.decorate_resource rsrc }
206
- end
207
-
208
- session[:schedule_config] = config
209
- end
210
-
211
- def self.make_resource_of_kind( klass, rid )
212
- klass = eval klass if klass.class == String
213
- get_for( klass.name, rid )
214
- end
215
-
216
- def self.add_rubs_of_kind( kind, ru_blkss, blockss )
217
- ru_blkss.each do |rid, blks|
218
- rsrc = get_for( kind, rid )
219
- rubs = blks.map{ |blk| ResourceUseBlock.new rsrc, blk }
220
- blockss[ rsrc ] = rubs
221
- end
222
126
  end
223
127
 
224
128
 
225
129
  public
226
130
 
227
131
  # Instance methods
228
- def initialize( kind, sub_id ) # :nodoc:
229
- @tag = self.class.send( :compose_tag, kind, sub_id )
132
+ def initialize( kind, rid ) # :nodoc:
133
+ # @tag = self.class.send( :compose_tag, kind, rid )
134
+ @tag = self.class.compose_tag( kind, rid )
230
135
  @label = @title = nil
231
- config[:rsrc_of_tag][@tag] = self
136
+ self.class.rsrc_of_tag[@tag] = self
232
137
  end
233
138
 
234
139
  # ==== Returns
@@ -247,15 +152,11 @@ class ScheduledResource
247
152
  "<#ScheduledResource \"#{@tag}\">"
248
153
  end
249
154
 
250
- attr_accessor :label, :title
155
+ attr_writer :label, :title
251
156
  def label(); @label || @tag end
252
-
253
- def label=(val)
254
- @label = val
255
- end
256
-
257
157
  def title(); @title || @tag end
258
158
 
159
+
259
160
  # ==== Returns
260
161
  # * <tt>String</tt> - CSS classes automatically generated for the DOM row representing this SchedResource.
261
162
  def css_classes_for_row(); "rsrcRow #{self.kind}row #{@tag}row #{self.kind}Row #{@tag}Row" end # Row + row -- really?
@@ -0,0 +1,115 @@
1
+ class ScheduledResource # Think module
2
+
3
+ # Config is loaded from config/schedule.yml:
4
+ # ResourceKinds:: A list of string pairs: [ resource class, use_block class ]
5
+ # Resources:: A list of: [ ResourceKind resource_id... ]
6
+ # visibleTime:: Span of time window (seconds).
7
+ # timeRangeMin::
8
+ # timeRangeMax::
9
+
10
+ # Schedule configuration data itself is fairly brief and generally
11
+ # can be kept in the session. An instance of this class (though
12
+ # reflecting the same information) isn't suitable for session
13
+ # storage. It is more useful for processing a request and also
14
+ # mediates (later) changes to the configuration.
15
+ class Config
16
+
17
+ attr_reader :visible_time, :time_range_min, :time_range_max
18
+ attr_reader :resource_list
19
+
20
+ # For now we have a single, static configuration...
21
+ CONFIG_FILE = "config/resource_schedule.yml"
22
+ #--
23
+ # Restore configuration from session or base as needed.
24
+ #
25
+ # When we depend on data in the configuration to satisfy a query we are not
26
+ # being RESTful. On the other hand we are not maintaining changeable state
27
+ # here -- it's just a cache. If there <em>were</em> changeable state it
28
+ # would likely be kept, eg, in a per-user table in the database.
29
+ #++
30
+ def self.ensure( session ) # fka ensure_config
31
+ yml_string = session[:schedule_config]
32
+ return new( YAML.load(yml_string) ) if yml_string
33
+
34
+ from_base( session )
35
+ end
36
+
37
+
38
+ # ToDo: Generalize this so configuration can be loaded on per-user.
39
+ def self.from_base( session ) # fka config_from_yaml1
40
+ yml = YAML.load_file CONFIG_FILE
41
+ session[:schedule_config] = yml.to_yaml
42
+ new( yml )
43
+ end
44
+
45
+
46
+ # (hi-lock-face-buffer "yml\\[.*\\]" 'hi-yellow)
47
+ # A Hash, as from a yml file.
48
+ def initialize( yml ) # fka config_from_yaml
49
+ @yml = yml
50
+ @resource_list = [] # fka :all_resources
51
+ @block_class_for_resource_kind = {}
52
+
53
+ yml['ResourceKinds'].each do |key, val| # {"Channel" => "Program"...}
54
+ @block_class_for_resource_kind[key] = val # class name (string)
55
+ end
56
+
57
+ do_resource_kind_lists( yml['Resources'] || [] )
58
+
59
+
60
+ # Eval is FAR TOO DANGEROUS for user input. Rather, parse a string
61
+ # into (number).(unit) (maybe a couple of other patterns) to sanitize.
62
+ vt = yml['visibleTime']
63
+ @visible_time = vt ? (eval vt) : 3.hours
64
+
65
+ t0 = yml['timeRangeMin']
66
+ @time_range_min = t0 ? (eval t0) : (Time.now - 1.week)
67
+
68
+ tn = yml['timeRangeMax']
69
+ @time_range_max = tn ? (eval tn) : (Time.now + 1.week)
70
+
71
+
72
+ rsrcs_by_kind.each do |kind, rsrcs| # fka config_from_yaml2
73
+ klass = kind.constantize
74
+ rsrcs.each {|rsrc| klass.decorate_resource rsrc }
75
+ end
76
+ end
77
+
78
+
79
+ # Resource Kind Lists,
80
+ # Each line (in yml format) is a ResourceKind followed by rids
81
+ # such as "Channel 702 703 ..."
82
+ def do_resource_kind_lists( rkls )
83
+ rkls.each do |rkl|
84
+ rkl = rkl.split(/[, ]+/) # ["Channel", "702", "703" ...]
85
+ rk = rkl.shift
86
+ rsrcs = rkl.map{|rid| ScheduledResource.make_resource_of_kind(rk, rid)}
87
+
88
+ add_resources rsrcs
89
+ end
90
+ end
91
+
92
+
93
+ # Hmm... DOM Row uniqueness vs resource (tag) uniqueness.
94
+ def add_resources(rsrcs)
95
+ rsrcs.each do |rsrc|
96
+ @resource_list << rsrc unless @resource_list.include? rsrc
97
+ end
98
+ end
99
+
100
+ def rsrcs_by_kind
101
+ @resource_list.group_by{ |r| r.kind }
102
+ end
103
+
104
+ # ==== Parameters
105
+ # * <tt>name</tt> - The class name (string) of a schedule resource.
106
+ #
107
+ # ==== Returns
108
+ # * <tt>Class</tt> - The class representing the <em>use</em> of that resource for an interval of time.
109
+ def block_class_for_resource_name( name )
110
+ @block_class_for_resource_kind[name].constantize
111
+ end
112
+
113
+ end
114
+
115
+ end
@@ -3,9 +3,9 @@ class ScheduledResource
3
3
 
4
4
  module Helper
5
5
 
6
- def ensure_schedule_config
7
- meth = params[:reset] ? :config_from_yaml : :ensure_config
8
- ScheduledResource.send( meth, session )
6
+ def ensure_schedule_config # fka :config_from_yaml : :ensure_config
7
+ meth = params[:reset] ? :from_base : :ensure
8
+ @config = ScheduledResource::Config.send( meth, session )
9
9
  end
10
10
 
11
11
  def default_time_param
@@ -15,7 +15,7 @@ class ScheduledResource
15
15
 
16
16
  def set_schedule_query_params(p = params)
17
17
  @t1 = p[:t1] || default_time_param
18
- @t2 = p[:t2] || @t1 + ScheduledResource.visible_time
18
+ @t2 = p[:t2] || @t1 + @config.visible_time # ScheduledResource.visible_time
19
19
  @inc= p[:inc]
20
20
  end
21
21
 
@@ -32,19 +32,20 @@ class ScheduledResource
32
32
  @t1 = Time.at(@t1.to_i)
33
33
  @t2 = Time.at(@t2.to_i)
34
34
 
35
- @rsrcs = ScheduledResource.resource_list
35
+ @rsrcs = @config.resource_list # ScheduledResource.resource_list
36
36
 
37
- @blockss = ScheduledResource.get_all_blocks(@t1, @t2, @inc)
37
+ @blockss = ScheduledResource.get_all_blocks(@config, @t1, @t2, @inc)
38
38
 
39
39
  json_adjustments
40
40
  end
41
41
 
42
- def min_time; ScheduledResource.config[:time_range_min].to_i end
43
- def max_time; ScheduledResource.config[:time_range_max].to_i end
42
+ def min_time; @config.time_range_min.to_i end # ScheduledResource.config[:time_range_min]
43
+ def max_time; @config.time_range_max.to_i end # ScheduledResource.config[:time_range_max]
44
44
 
45
- # Always send starttime/endtime attributes as Integer values (UTC) -- they are
46
- # used to size and place the blocks. Timezone is configured separately in the
47
- # ZTime* classes (config/resource_schedule.yml).
45
+ # Always send starttime/endtime attributes as Integer values (UTC)
46
+ # -- they are used to size and place the use_blocks. Timezone is
47
+ # configured separately in the ZTime* classes
48
+ # (config/resource_schedule.yml).
48
49
  def json_adjustments
49
50
  @blockss.each do |rsrc, blocks|
50
51
  blocks.each do |block|
@@ -58,8 +59,6 @@ class ScheduledResource
58
59
  }
59
60
  end
60
61
 
61
-
62
-
63
62
  end
64
63
 
65
64
  end
@@ -1,3 +1,3 @@
1
1
  class ScheduledResource
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: scheduled_resource
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Cannon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-13 00:00:00.000000000 Z
11
+ date: 2015-03-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -169,6 +169,7 @@ files:
169
169
  - lib/assets/javascripts/use_block.js.coffee
170
170
  - lib/assets/stylesheets/scheduled_resource.css.scss
171
171
  - lib/scheduled_resource.rb
172
+ - lib/scheduled_resource/config.rb
172
173
  - lib/scheduled_resource/helper.rb
173
174
  - lib/scheduled_resource/resource_use_block.rb
174
175
  - lib/scheduled_resource/version.rb
@@ -199,7 +200,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
199
200
  version: '0'
200
201
  requirements: []
201
202
  rubyforge_project:
202
- rubygems_version: 2.2.2
203
+ rubygems_version: 2.4.5
203
204
  signing_key:
204
205
  specification_version: 4
205
206
  summary: Display how something is used over time.