openhab-scripting 4.1.4 → 4.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/openhab/core/entity_lookup.rb +1 -57
- data/lib/openhab/dsl/actions.rb +2 -3
- data/lib/openhab/dsl/dsl.rb +8 -12
- data/lib/openhab/dsl/group.rb +1 -5
- data/lib/openhab/dsl/items/color_item.rb +60 -0
- data/lib/openhab/dsl/items/comparable_item.rb +49 -0
- data/lib/openhab/dsl/items/contact_item.rb +41 -0
- data/lib/openhab/dsl/items/date_time_item.rb +64 -0
- data/lib/openhab/dsl/items/dimmer_item.rb +59 -0
- data/lib/openhab/dsl/items/ensure.rb +93 -0
- data/lib/openhab/dsl/items/generic_item.rb +174 -0
- data/lib/openhab/dsl/items/group_item.rb +121 -89
- data/lib/openhab/dsl/items/image_item.rb +5 -41
- data/lib/openhab/dsl/items/item_equality.rb +36 -0
- data/lib/openhab/dsl/items/item_registry.rb +49 -0
- data/lib/openhab/dsl/items/items.rb +81 -35
- data/lib/openhab/dsl/items/metadata.rb +325 -0
- data/lib/openhab/dsl/items/number_item.rb +6 -312
- data/lib/openhab/dsl/items/numeric_item.rb +68 -0
- data/lib/openhab/dsl/items/persistence.rb +122 -0
- data/lib/openhab/dsl/items/player_item.rb +49 -40
- data/lib/openhab/dsl/items/rollershutter_item.rb +25 -77
- data/lib/openhab/dsl/items/string_item.rb +16 -58
- data/lib/openhab/dsl/items/switch_item.rb +62 -0
- data/lib/openhab/dsl/lazy_array.rb +8 -6
- data/lib/openhab/dsl/monkey_patch/events/events.rb +2 -2
- data/lib/openhab/dsl/monkey_patch/events/item_command.rb +67 -24
- data/lib/openhab/dsl/monkey_patch/events/item_event.rb +5 -5
- data/lib/openhab/dsl/monkey_patch/events/item_state.rb +10 -11
- data/lib/openhab/dsl/monkey_patch/events/item_state_changed.rb +10 -11
- data/lib/openhab/dsl/monkey_patch/ruby/number.rb +25 -2
- data/lib/openhab/dsl/monkey_patch/ruby/ruby.rb +0 -3
- data/lib/openhab/dsl/monkey_patch/ruby/string.rb +24 -24
- data/lib/openhab/dsl/rules/terse.rb +24 -0
- data/lib/openhab/dsl/states.rb +1 -1
- data/lib/openhab/dsl/time_of_day.rb +3 -5
- data/lib/openhab/dsl/types/comparable_type.rb +21 -0
- data/lib/openhab/dsl/types/date_time_type.rb +334 -0
- data/lib/openhab/dsl/types/decimal_type.rb +187 -0
- data/lib/openhab/dsl/types/hsb_type.rb +201 -0
- data/lib/openhab/dsl/types/increase_decrease_type.rb +23 -0
- data/lib/openhab/dsl/types/next_previous_type.rb +23 -0
- data/lib/openhab/dsl/types/numeric_type.rb +39 -0
- data/lib/openhab/dsl/types/on_off_type.rb +29 -0
- data/lib/openhab/dsl/types/open_closed_type.rb +29 -0
- data/lib/openhab/dsl/types/percent_type.rb +70 -0
- data/lib/openhab/dsl/types/play_pause_type.rb +27 -0
- data/lib/openhab/dsl/types/quantity_type.rb +275 -0
- data/lib/openhab/dsl/types/refresh_type.rb +18 -0
- data/lib/openhab/dsl/types/rewind_fastforward_type.rb +33 -0
- data/lib/openhab/dsl/types/stop_move_type.rb +23 -0
- data/lib/openhab/dsl/types/string_type.rb +88 -0
- data/lib/openhab/dsl/types/type.rb +72 -0
- data/lib/openhab/dsl/types/types.rb +78 -0
- data/lib/openhab/dsl/types/un_def_type.rb +22 -0
- data/lib/openhab/dsl/types/up_down_type.rb +32 -0
- data/lib/openhab/dsl/units.rb +11 -6
- data/lib/openhab/version.rb +1 -1
- data/lib/openhab.rb +0 -1
- metadata +36 -28
- data/lib/openhab/dsl/items/datetime_item.rb +0 -75
- data/lib/openhab/dsl/items/item_command.rb +0 -90
- data/lib/openhab/dsl/items/item_delegate.rb +0 -125
- data/lib/openhab/dsl/monkey_patch/items/contact_item.rb +0 -51
- data/lib/openhab/dsl/monkey_patch/items/dimmer_item.rb +0 -140
- data/lib/openhab/dsl/monkey_patch/items/items.rb +0 -142
- data/lib/openhab/dsl/monkey_patch/items/metadata.rb +0 -328
- data/lib/openhab/dsl/monkey_patch/items/persistence.rb +0 -123
- data/lib/openhab/dsl/monkey_patch/items/switch_item.rb +0 -71
- data/lib/openhab/dsl/monkey_patch/ruby/range.rb +0 -47
- data/lib/openhab/dsl/monkey_patch/ruby/time.rb +0 -32
- data/lib/openhab/dsl/monkey_patch/types/decimal_type.rb +0 -97
- data/lib/openhab/dsl/monkey_patch/types/increase_decrease_type.rb +0 -23
- data/lib/openhab/dsl/monkey_patch/types/next_previous_type.rb +0 -23
- data/lib/openhab/dsl/monkey_patch/types/on_off_type.rb +0 -79
- data/lib/openhab/dsl/monkey_patch/types/open_closed_type.rb +0 -71
- data/lib/openhab/dsl/monkey_patch/types/percent_type.rb +0 -77
- data/lib/openhab/dsl/monkey_patch/types/play_pause_type.rb +0 -23
- data/lib/openhab/dsl/monkey_patch/types/quantity_type.rb +0 -69
- data/lib/openhab/dsl/monkey_patch/types/refresh_type.rb +0 -23
- data/lib/openhab/dsl/monkey_patch/types/rewind_fastforward_type.rb +0 -23
- data/lib/openhab/dsl/monkey_patch/types/stop_move_type.rb +0 -23
- data/lib/openhab/dsl/monkey_patch/types/types.rb +0 -15
- data/lib/openhab/dsl/monkey_patch/types/up_down_type.rb +0 -72
- data/lib/openhab/dsl/types/datetime.rb +0 -338
- data/lib/openhab/dsl/types/quantity.rb +0 -300
@@ -0,0 +1,201 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'percent_type'
|
4
|
+
|
5
|
+
module OpenHAB
|
6
|
+
module DSL
|
7
|
+
module Types
|
8
|
+
java_import org.openhab.core.library.types.HSBType
|
9
|
+
|
10
|
+
# global alias
|
11
|
+
::HSBType = HSBType
|
12
|
+
|
13
|
+
# Adds methods to core OpenHAB HSBType to make it more natural in Ruby
|
14
|
+
class HSBType < PercentType
|
15
|
+
# @!parse BLACK = BLACK # @return [HSBType]
|
16
|
+
# @!parse WHITE = WHITE # @return [HSBType]
|
17
|
+
# @!parse RED = RED # @return [HSBType]
|
18
|
+
# @!parse GREEN = GREEN # @return [HSBType]
|
19
|
+
# @!parse BLUE = BLUE # @return [HSBType]
|
20
|
+
|
21
|
+
# conversion to QuantityType doesn't make sense on HSBType
|
22
|
+
undef_method :|
|
23
|
+
|
24
|
+
remove_method :==
|
25
|
+
|
26
|
+
# r, g, b as an array of symbols
|
27
|
+
RGB_KEYS = %i[r g b].freeze
|
28
|
+
private_constant :RGB_KEYS
|
29
|
+
|
30
|
+
class << self
|
31
|
+
# @!method from_rgb(r, g, b)
|
32
|
+
# Create HSBType from RGB values
|
33
|
+
# @param r [Integer] Red component (0-255)
|
34
|
+
# @param g [Integer] Green component (0-255)
|
35
|
+
# @param b [Integer] Blue component (0-255)
|
36
|
+
# @return [HSBType]
|
37
|
+
|
38
|
+
# @!method from_xy(x, y)
|
39
|
+
# Create HSBType representing the provided xy color values in CIE XY color model
|
40
|
+
# @param x [Float]
|
41
|
+
# @param y [Float]
|
42
|
+
# @return [HSBType]
|
43
|
+
|
44
|
+
# Create HSBType from hue, saturation, and brightness values
|
45
|
+
# @param hue [DecimalType, QuantityType, Numeric] Hue component (0-360º)
|
46
|
+
# @param saturation [PercentType, Numeric] Saturation component (0-100%)
|
47
|
+
# @param brightness [PercentType, Numeric] Brightness component (0-100%)
|
48
|
+
# @return [HSBType]
|
49
|
+
def from_hsv(hue, saturation, brightness)
|
50
|
+
new(hue, saturation, brightness)
|
51
|
+
end
|
52
|
+
|
53
|
+
# add additional "overloads" to the constructor
|
54
|
+
# @!visibility private
|
55
|
+
def new(*args) # rubocop:disable Metrics
|
56
|
+
if args.length == 1 && args.first.respond_to?(:to_str)
|
57
|
+
value = args.first.to_str
|
58
|
+
|
59
|
+
# parse some formats OpenHAB doesn't understand
|
60
|
+
# in this case, HTML hex format for rgb
|
61
|
+
if (match = value.match(/^#(\h{2})(\h{2})(\h{2})$/))
|
62
|
+
rgb = match.to_a[1..3].map { |v| v.to_i(16) }
|
63
|
+
logger.trace("creating from rgb #{rgb.inspect}")
|
64
|
+
return from_rgb(*rgb)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
return super unless args.length == 3
|
69
|
+
|
70
|
+
# convert from several numeric-like types to the exact types
|
71
|
+
# OpenHAB needs
|
72
|
+
hue = args[0]
|
73
|
+
args[0] = if hue.is_a?(DecimalType)
|
74
|
+
hue
|
75
|
+
elsif hue.is_a?(QuantityType)
|
76
|
+
DecimalType.new(hue.to_unit(::Units::DEGREE_ANGLE).to_big_decimal)
|
77
|
+
elsif hue.respond_to?(:to_d)
|
78
|
+
DecimalType.new(hue)
|
79
|
+
end
|
80
|
+
args[1..2] = args[1..2].map do |v|
|
81
|
+
if v.is_a?(PercentType)
|
82
|
+
v
|
83
|
+
elsif v.respond_to?(:to_d)
|
84
|
+
PercentType.new(v)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
88
|
+
super(*args)
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
#
|
93
|
+
# Comparison
|
94
|
+
#
|
95
|
+
# @param [NumericType, Items::NumericItem, Items::ColorItem, Numeric, String]
|
96
|
+
# other object to compare to
|
97
|
+
#
|
98
|
+
# @return [Integer, nil] -1, 0, +1 depending on whether +other+ is
|
99
|
+
# less than, equal to, or greater than self
|
100
|
+
#
|
101
|
+
# nil is returned if the two values are incomparable
|
102
|
+
#
|
103
|
+
def <=>(other)
|
104
|
+
logger.trace("(#{self.class}) #{self} <=> #{other} (#{other.class})")
|
105
|
+
if other.is_a?(Items::ColorItem) ||
|
106
|
+
(other.is_a?(Items::GroupItem) && other.base_item.is_a?(ColorItem))
|
107
|
+
return false unless other.state?
|
108
|
+
|
109
|
+
self <=> other.state
|
110
|
+
elsif other.respond_to?(:to_str)
|
111
|
+
self <=> HSBType.new(other)
|
112
|
+
else
|
113
|
+
super
|
114
|
+
end
|
115
|
+
end
|
116
|
+
|
117
|
+
#
|
118
|
+
# Type Coercion
|
119
|
+
#
|
120
|
+
# Coerce object to a HSBType
|
121
|
+
#
|
122
|
+
# @param [NumericType, Items::NumericItem, Items::ColorItem, Numeric, String]
|
123
|
+
# other object to coerce to a HSBType
|
124
|
+
#
|
125
|
+
# @return [[HSBType, HSBType]]
|
126
|
+
#
|
127
|
+
def coerce(other)
|
128
|
+
logger.trace("Coercing #{self} as a request from #{other.class}")
|
129
|
+
if other.is_a?(Items::NumericItem) ||
|
130
|
+
(other.is_a?(Items::GroupItem) && other.base_item.is_a?(Items::NumericItem))
|
131
|
+
raise TypeError, "can't convert #{UnDefType} into #{self.class}" unless other.state?
|
132
|
+
|
133
|
+
[other.state, self]
|
134
|
+
elsif other.respond_to?(:to_str)
|
135
|
+
[HSBType.new(other.to_str), self]
|
136
|
+
else
|
137
|
+
super
|
138
|
+
end
|
139
|
+
end
|
140
|
+
|
141
|
+
# rename raw methods so we can overwrite them
|
142
|
+
# @!visibility private
|
143
|
+
alias raw_hue hue
|
144
|
+
|
145
|
+
# @!attribute [r] hue
|
146
|
+
# @return [QuantityType]
|
147
|
+
def hue
|
148
|
+
QuantityType.new(raw_hue.to_big_decimal, ::Units::DEGREE_ANGLE)
|
149
|
+
end
|
150
|
+
|
151
|
+
# Convert to a packed 32-bit RGB value representing the color in the default sRGB color model.
|
152
|
+
#
|
153
|
+
# The alpha component is always 100%.
|
154
|
+
#
|
155
|
+
# @return [Integer]
|
156
|
+
alias argb rgb
|
157
|
+
|
158
|
+
# Convert to a packed 24-bit RGB value representing the color in the default sRGB color model.
|
159
|
+
# @return [Integer]
|
160
|
+
def rgb
|
161
|
+
argb & 0xffffff
|
162
|
+
end
|
163
|
+
|
164
|
+
# Convert to an HTML-style string of 6 hex characters in the default sRGB color model.
|
165
|
+
# @return [String] +'#xxxxxx'+
|
166
|
+
def to_hex
|
167
|
+
Kernel.format('#%06x', rgb)
|
168
|
+
end
|
169
|
+
|
170
|
+
# include units
|
171
|
+
# @!visibility private
|
172
|
+
def to_s
|
173
|
+
"#{hue},#{saturation},#{brightness}"
|
174
|
+
end
|
175
|
+
|
176
|
+
# @!attribute [r] saturation
|
177
|
+
# @return [PercentType]
|
178
|
+
|
179
|
+
# @!attribute [r] brightness
|
180
|
+
# @return [PercentType]
|
181
|
+
|
182
|
+
# @!attribute [r] red
|
183
|
+
# @return [PercentType]
|
184
|
+
|
185
|
+
# @!attribute [r] green
|
186
|
+
# @return [PercentType]
|
187
|
+
|
188
|
+
# @!attribute [r] blue
|
189
|
+
# @return [PercentType]
|
190
|
+
|
191
|
+
# @!method to_rgb
|
192
|
+
# Convert to RGB values representing the color in the default sRGB color model
|
193
|
+
# @return [[PercentType, PercentType, PercentType]]
|
194
|
+
|
195
|
+
# @!method to_xy
|
196
|
+
# Convert to the xyY values representing this object's color in CIE XY color model
|
197
|
+
# @return [[PercentType, PercentType]]
|
198
|
+
end
|
199
|
+
end
|
200
|
+
end
|
201
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenHAB
|
4
|
+
module DSL
|
5
|
+
module Types
|
6
|
+
java_import org.openhab.core.library.types.IncreaseDecreaseType
|
7
|
+
|
8
|
+
# Adds methods to core OpenHAB IncreaseDecreaseType to make it more
|
9
|
+
# natural in Ruby
|
10
|
+
class IncreaseDecreaseType # rubocop:disable Lint/EmptyClass
|
11
|
+
# @!parse include Type
|
12
|
+
|
13
|
+
# @!method increase?
|
14
|
+
# Check if == +INCREASE+
|
15
|
+
# @return [Boolean]
|
16
|
+
|
17
|
+
# @!method decrease?
|
18
|
+
# Check if == +DECREASE+
|
19
|
+
# @return [Boolean]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenHAB
|
4
|
+
module DSL
|
5
|
+
module Types
|
6
|
+
java_import org.openhab.core.library.types.NextPreviousType
|
7
|
+
|
8
|
+
# Adds methods to core OpenHAB NextPreviousType to make it more
|
9
|
+
# natural in Ruby
|
10
|
+
class NextPreviousType # rubocop:disable Lint/EmptyClass
|
11
|
+
# @!parse include Type
|
12
|
+
|
13
|
+
# @!method next?
|
14
|
+
# Check if == +NEXT+
|
15
|
+
# @return [Boolean]
|
16
|
+
|
17
|
+
# @!method previous?
|
18
|
+
# Check if == +PREVIOUS+
|
19
|
+
# @return [Boolean]
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'bigdecimal'
|
4
|
+
require 'forwardable'
|
5
|
+
|
6
|
+
module OpenHAB
|
7
|
+
module DSL
|
8
|
+
module Types
|
9
|
+
# Mixin for methods common to DecimalType and QuantityType
|
10
|
+
module NumericType
|
11
|
+
# apply meta-programming to including class
|
12
|
+
def self.included(klass)
|
13
|
+
klass.extend Forwardable
|
14
|
+
|
15
|
+
klass.delegate %i[to_d zero?] => :to_big_decimal
|
16
|
+
klass.delegate %i[positive? negative? to_f to_i to_int hash] => :to_d
|
17
|
+
# remove the JRuby default == so that we can inherit the Ruby method
|
18
|
+
klass.remove_method :==
|
19
|
+
end
|
20
|
+
|
21
|
+
#
|
22
|
+
# Check equality without type conversion
|
23
|
+
#
|
24
|
+
# @return [Boolean] if the same value is represented, without type
|
25
|
+
# conversion
|
26
|
+
def eql?(other)
|
27
|
+
return false unless other.instance_of?(self.class)
|
28
|
+
|
29
|
+
compare_to(other).zero?
|
30
|
+
end
|
31
|
+
|
32
|
+
# Unary plus
|
33
|
+
def +@
|
34
|
+
self
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenHAB
|
4
|
+
module DSL
|
5
|
+
module Types
|
6
|
+
java_import org.openhab.core.library.types.OnOffType
|
7
|
+
|
8
|
+
# Adds methods to core OpenHAB OnOffType to make it more natural in Ruby
|
9
|
+
class OnOffType
|
10
|
+
# @!parse include Type
|
11
|
+
|
12
|
+
# @!method on?
|
13
|
+
# Check if == +ON+
|
14
|
+
# @return [Boolean]
|
15
|
+
|
16
|
+
# @!method off?
|
17
|
+
# Check if == +OFF+
|
18
|
+
# @return [Boolean]
|
19
|
+
|
20
|
+
# Invert the type
|
21
|
+
# @return [OnOffType] +OFF+ if +ON+, +ON+ if +OFF+
|
22
|
+
def !
|
23
|
+
return OFF if on?
|
24
|
+
return ON if off?
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenHAB
|
4
|
+
module DSL
|
5
|
+
module Types
|
6
|
+
java_import org.openhab.core.library.types.OpenClosedType
|
7
|
+
|
8
|
+
# Adds methods to core OpenHAB OpenClosedType to make it more natural in Ruby
|
9
|
+
class OpenClosedType
|
10
|
+
# @!parse include Type
|
11
|
+
|
12
|
+
# @!method open?
|
13
|
+
# Check if == +OPEN+
|
14
|
+
# @return [Boolean]
|
15
|
+
|
16
|
+
# @!method closed?
|
17
|
+
# Check if == +CLOSED+
|
18
|
+
# @return [Boolean]
|
19
|
+
|
20
|
+
# Invert the type
|
21
|
+
# @return [OpenClosedType] +OPEN+ if +CLOSED+, +CLOSED+ if +OPEN+
|
22
|
+
def !
|
23
|
+
return OPEN if open?
|
24
|
+
return CLOSED if closed?
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative 'decimal_type'
|
4
|
+
|
5
|
+
module OpenHAB
|
6
|
+
module DSL
|
7
|
+
module Types
|
8
|
+
java_import org.openhab.core.library.types.PercentType
|
9
|
+
|
10
|
+
# global alias
|
11
|
+
::PercentType = PercentType
|
12
|
+
|
13
|
+
# Adds methods to core OpenHAB PercentType to make it more natural in Ruby
|
14
|
+
class PercentType < DecimalType
|
15
|
+
# remove the JRuby default == so that we can inherit the Ruby method
|
16
|
+
remove_method :==
|
17
|
+
|
18
|
+
#
|
19
|
+
# Check if +ON+
|
20
|
+
#
|
21
|
+
# Note that +ON+ is defined as any value besides 0%.
|
22
|
+
#
|
23
|
+
# @return [Boolean]
|
24
|
+
#
|
25
|
+
def on?
|
26
|
+
as(OnOffType).on?
|
27
|
+
end
|
28
|
+
|
29
|
+
#
|
30
|
+
# Check if +OFF+
|
31
|
+
#
|
32
|
+
# Note that +OFF+ is defined as 0% exactly.
|
33
|
+
#
|
34
|
+
# @return [Boolean]
|
35
|
+
#
|
36
|
+
def off?
|
37
|
+
as(OnOffType).off?
|
38
|
+
end
|
39
|
+
|
40
|
+
#
|
41
|
+
# Check if +UP+
|
42
|
+
#
|
43
|
+
# Note that +UP+ is defined as 0% exactly.
|
44
|
+
#
|
45
|
+
# @return [Boolean]
|
46
|
+
#
|
47
|
+
def up?
|
48
|
+
!!as(UpDownType)&.up?
|
49
|
+
end
|
50
|
+
|
51
|
+
#
|
52
|
+
# Check if +DOWN+
|
53
|
+
#
|
54
|
+
# Note that +DOWN+ is defined as 100% exactly.
|
55
|
+
#
|
56
|
+
# @return [Boolean]
|
57
|
+
#
|
58
|
+
def down?
|
59
|
+
!!as(UpDownType)&.down?
|
60
|
+
end
|
61
|
+
|
62
|
+
# include the %
|
63
|
+
# @!visibility private
|
64
|
+
def to_s
|
65
|
+
"#{to_string}%"
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module OpenHAB
|
4
|
+
module DSL
|
5
|
+
module Types
|
6
|
+
java_import org.openhab.core.library.types.PlayPauseType
|
7
|
+
|
8
|
+
# Adds methods to core OpenHAB PlayPauseType to make it more
|
9
|
+
# natural in Ruby
|
10
|
+
class PlayPauseType # rubocop:disable Lint/EmptyClass
|
11
|
+
# @!parse include Type
|
12
|
+
|
13
|
+
# @!method playing?
|
14
|
+
# Check if == +PLAY+
|
15
|
+
# @return [Boolean]
|
16
|
+
|
17
|
+
# @!parse alias play? playing?
|
18
|
+
|
19
|
+
# @!method paused?
|
20
|
+
# Check if == +PAUSE+
|
21
|
+
# @return [Boolean]
|
22
|
+
|
23
|
+
# @!parse alias pause? paused?
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|