Class: PulseMeter::Visualize::DSL::Widget
- Inherits:
-
Base
- Object
- Base
- PulseMeter::Visualize::DSL::Widget
show all
- Includes:
- Mixins::Utils
- Defined in:
- lib/pulse-meter/visualize/dsl/widget.rb,
lib/pulse-meter/visualize/dsl/widget_old.rb
Constant Summary
collapse
- MAX_WIDTH =
10
- DEFAULT_WIDTH =
10
- DEFAULT_TIMESPAN =
60 * 60 * 24
- DEFAULT_GCHART_OPTIONS =
{}
Instance Method Summary
collapse
#assert_positive_integer!, #assert_ranged_float!, #camelize, #camelize_keys, #constantize, #symbolize_keys, #titleize, #uniqid
Methods inherited from Base
array_extender, bool_setter, #create_dsl_obj, data_class, data_class=, deprecated_setter, dsl_array_extender, dsl_setter, #extract_params, hash_extender, int_setter, setter, string_setter, #to_data
Constructor Details
#initialize(type, title = '') ⇒ Widget
Returns a new instance of Widget.
9
10
11
12
13
|
# File 'lib/pulse-meter/visualize/dsl/widget.rb', line 9
def initialize(title)
super()
self.title(title)
self.width(MAX_WIDTH)
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, value) ⇒ Object
29
30
31
|
# File 'lib/pulse-meter/visualize/dsl/widget.rb', line 29
def method_missing(name, value)
gchart_options(name => value)
end
|
Instance Method Details
#gchart_options(options = {}) ⇒ Object
63
64
65
|
# File 'lib/pulse-meter/visualize/dsl/widget_old.rb', line 63
def gchart_options(options = {})
@gchart_options.merge!(options)
end
|
#process_args(args) ⇒ Object
24
25
26
27
28
29
30
|
# File 'lib/pulse-meter/visualize/dsl/widget_old.rb', line 24
def process_args(args)
[:sensor, :title, :width, :values_label, :show_last_point, :redraw_interval, :timespan].each do |arg|
if args.has_key?(arg)
send(arg, args[arg])
end
end
end
|
#redraw_interval(new_redraw_interval) ⇒ Object
32
33
34
35
36
|
# File 'lib/pulse-meter/visualize/dsl/widget_old.rb', line 32
def redraw_interval(new_redraw_interval)
new_redraw_interval = new_redraw_interval.to_i
raise BadWidgetRedrawInterval, new_redraw_interval unless new_redraw_interval > 0
@redraw_interval = new_redraw_interval
end
|
#sensor(name, sensor_args = nil) ⇒ Object
67
68
69
70
71
|
# File 'lib/pulse-meter/visualize/dsl/widget_old.rb', line 67
def sensor(name, sensor_args = nil)
s = PulseMeter::Visualize::DSL::Sensor.new(name)
s.process_args(sensor_args) if sensor_args
@sensors << s
end
|
#show_last_point(new_show_last_point) ⇒ Object
38
39
40
|
# File 'lib/pulse-meter/visualize/dsl/widget_old.rb', line 38
def show_last_point(new_show_last_point)
@show_last_point = !!new_show_last_point
end
|
#timespan(new_timespan) ⇒ Object
42
43
44
45
46
|
# File 'lib/pulse-meter/visualize/dsl/widget_old.rb', line 42
def timespan(new_timespan)
new_timespan = new_timespan.to_i
raise BadWidgetTimeSpan, new_timespan unless new_timespan > 0
@timespan = new_timespan
end
|
#title(new_title) ⇒ Object
52
53
54
|
# File 'lib/pulse-meter/visualize/dsl/widget_old.rb', line 52
def title(new_title)
@title = new_title.to_s || ''
end
|
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# File 'lib/pulse-meter/visualize/dsl/widget_old.rb', line 77
def to_widget
args = {
title: @title,
type: @type,
values_label: @values_label,
width: @width,
sensors: @sensors.map(&:to_sensor),
redraw_interval: @redraw_interval,
show_last_point: @show_last_point,
timespan: @timespan,
gchart_options: @gchart_options
}
PulseMeter::Visualize::Widget.new(args)
end
|
#values_label(new_label) ⇒ Object
48
49
50
|
# File 'lib/pulse-meter/visualize/dsl/widget_old.rb', line 48
def values_label(new_label)
@values_label = new_label.to_s
end
|
#width(new_width) ⇒ Object
56
57
58
59
60
61
|
# File 'lib/pulse-meter/visualize/dsl/widget_old.rb', line 56
def width(new_width)
raise BadWidgetWidth, new_width unless new_width.respond_to?(:to_i)
w = new_width.to_i
raise BadWidgetWidth, new_width unless w > 0 && w <= 10
@width = new_width.to_i
end
|