openhab-scripting 5.6.0 → 5.6.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 +4 -4
- data/lib/openhab/core/actions/audio.rb +5 -2
- data/lib/openhab/core/items/semantics.rb +4 -2
- data/lib/openhab/core/things/proxy.rb +2 -1
- data/lib/openhab/core/types/date_time_type.rb +2 -1
- data/lib/openhab/core/types/open_closed_type.rb +2 -1
- data/lib/openhab/core/types/string_type.rb +1 -1
- data/lib/openhab/core/types/up_down_type.rb +2 -1
- data/lib/openhab/core/value_cache.rb +5 -4
- data/lib/openhab/core_ext/java/duration.rb +2 -1
- data/lib/openhab/core_ext/java/local_time.rb +8 -6
- data/lib/openhab/core_ext/java/month_day.rb +2 -1
- data/lib/openhab/core_ext/java/period.rb +1 -1
- data/lib/openhab/core_ext/ruby/numeric.rb +1 -0
- data/lib/openhab/dsl/items/builder.rb +3 -1
- data/lib/openhab/dsl/rules/builder.rb +47 -19
- data/lib/openhab/dsl/rules/triggers/conditions/generic.rb +1 -1
- data/lib/openhab/dsl/rules/triggers/cron/cron.rb +33 -14
- data/lib/openhab/dsl/things/builder.rb +4 -2
- data/lib/openhab/dsl/version.rb +1 -1
- data/lib/openhab/osgi.rb +1 -1
- data/lib/openhab/rspec/karaf.rb +5 -2
- data/lib/openhab/rspec/openhab/core/actions.rb +0 -3
- metadata +9 -23
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9d58174285c7861dfffd3bdb108f6d9c01af149a4f53aab9b9dd331be7f0f022
|
4
|
+
data.tar.gz: 6bdb6e115927aea3396ca05be97ecb1ee9d8afc9bc493689c32f7fcd19a7e71a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 454fb750a412b8e153ce7df0320738b1f9729e1313d6d8e9aaaaa7c720c8c0cda7f704a35d78952705e7f21718551daae2c01e0dcf0b7e26c1fbfa2481d5ab6b
|
7
|
+
data.tar.gz: 0a1e62ecb2bcce48a207bed5899bd0e7913492836a5c953a4b22756fa149b353ee8db229e3b5b71f48d503db1d7bfaa4f8baa94abe92469047b386ab3d438da6
|
@@ -23,8 +23,11 @@ module OpenHAB
|
|
23
23
|
#
|
24
24
|
def play_sound(filename, sink: nil, volume: nil)
|
25
25
|
volume = PercentType.new(volume) unless volume.is_a?(PercentType) || volume.nil?
|
26
|
-
java_send :playSound,
|
27
|
-
|
26
|
+
java_send :playSound,
|
27
|
+
[java.lang.String, java.lang.String, PercentType.java_class],
|
28
|
+
sink,
|
29
|
+
filename.to_s,
|
30
|
+
volume
|
28
31
|
end
|
29
32
|
|
30
33
|
#
|
@@ -308,7 +308,7 @@ module OpenHAB
|
|
308
308
|
raise ArgumentError, "Additional options can only be specified when creating one tag"
|
309
309
|
end
|
310
310
|
|
311
|
-
synonyms = Array.wrap(synonyms).map
|
311
|
+
synonyms = Array.wrap(synonyms).map { |s| s.to_s.strip }
|
312
312
|
|
313
313
|
tags.map do |name, parent|
|
314
314
|
# @deprecated OH4.0.0.M4 missing registry
|
@@ -317,7 +317,9 @@ module OpenHAB
|
|
317
317
|
next if lookup(name)
|
318
318
|
next unless parent
|
319
319
|
|
320
|
-
new_tag = org.openhab.core.semantics.SemanticTagImpl.new("#{parent.uid}_#{name}",
|
320
|
+
new_tag = org.openhab.core.semantics.SemanticTagImpl.new("#{parent.uid}_#{name}",
|
321
|
+
label,
|
322
|
+
description,
|
321
323
|
synonyms)
|
322
324
|
Provider.instance.add(new_tag)
|
323
325
|
lookup(name)
|
@@ -13,7 +13,8 @@ module OpenHAB
|
|
13
13
|
def_delegators :__getobj__, :class, :is_a?, :kind_of?
|
14
14
|
|
15
15
|
# @!visibility private
|
16
|
-
EVENTS = [Events::ThingAddedEvent::TYPE,
|
16
|
+
EVENTS = [Events::ThingAddedEvent::TYPE,
|
17
|
+
Events::ThingUpdatedEvent::TYPE,
|
17
18
|
Events::ThingRemovedEvent::TYPE].freeze
|
18
19
|
# @!visibility private
|
19
20
|
UID_METHOD = :uid
|
@@ -144,7 +144,8 @@ module OpenHAB
|
|
144
144
|
def coerce(other)
|
145
145
|
logger.trace("Coercing #{self} as a request from #{other.class}")
|
146
146
|
return [other, zoned_date_time] if other.respond_to?(:to_zoned_date_time)
|
147
|
-
|
147
|
+
|
148
|
+
[DateTimeType.new(other), self] if other.respond_to?(:to_time)
|
148
149
|
end
|
149
150
|
|
150
151
|
#
|
@@ -63,7 +63,7 @@ module OpenHAB
|
|
63
63
|
#
|
64
64
|
def coerce(other)
|
65
65
|
logger.trace("Coercing #{self} as a request from #{other.class}")
|
66
|
-
|
66
|
+
[other.to_str, self] if other.respond_to?(:to_str)
|
67
67
|
end
|
68
68
|
|
69
69
|
# any method that exists on String gets forwarded to to_s
|
@@ -107,10 +107,11 @@ module OpenHAB
|
|
107
107
|
|
108
108
|
# @see https://docs.ruby-lang.org/en/master/Hash.html#method-i-assoc Hash#assoc
|
109
109
|
def assoc(key)
|
110
|
-
[key,
|
111
|
-
|
112
|
-
|
113
|
-
|
110
|
+
[key,
|
111
|
+
fetch(key) do
|
112
|
+
# return nil directly, without storing a value to the cache
|
113
|
+
return nil
|
114
|
+
end]
|
114
115
|
end
|
115
116
|
|
116
117
|
# @see https://docs.ruby-lang.org/en/master/Hash.html#method-i-dig Hash#dig
|
@@ -56,12 +56,14 @@ module OpenHAB
|
|
56
56
|
return raw_parse(string, formatter) if formatter
|
57
57
|
|
58
58
|
format = /(am|pm)$/i.match?(string) ? "h[:mm[:ss][.S]][ ]a" : "H[:mm[:ss][.S]]"
|
59
|
-
java_send(:parse,
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
59
|
+
java_send(:parse,
|
60
|
+
[java.lang.CharSequence, java.time.format.DateTimeFormatter],
|
61
|
+
string,
|
62
|
+
java.time.format.DateTimeFormatterBuilder.new
|
63
|
+
.parse_case_insensitive
|
64
|
+
.parse_lenient
|
65
|
+
.append_pattern(format)
|
66
|
+
.to_formatter(java.util.Locale::ENGLISH))
|
65
67
|
end
|
66
68
|
end
|
67
69
|
|
@@ -21,7 +21,8 @@ module OpenHAB
|
|
21
21
|
#
|
22
22
|
def parse(string)
|
23
23
|
logger.trace("#{self.class}.parse #{string} (#{string.class})")
|
24
|
-
java_send(:parse,
|
24
|
+
java_send(:parse,
|
25
|
+
[java.lang.CharSequence, java.time.format.DateTimeFormatter],
|
25
26
|
string.to_s,
|
26
27
|
java.time.format.DateTimeFormatter.ofPattern("[--]M-d"))
|
27
28
|
end
|
@@ -270,7 +270,9 @@ module OpenHAB
|
|
270
270
|
# Homekit metadata (see {ItemBuilder#homekit})
|
271
271
|
# @param metadata [Hash<String, Hash>] Generic metadata (see {ItemBuilder#metadata})
|
272
272
|
# @param state [State] Initial state
|
273
|
-
def initialize(type,
|
273
|
+
def initialize(type,
|
274
|
+
name = nil,
|
275
|
+
label = nil,
|
274
276
|
provider:,
|
275
277
|
dimension: nil,
|
276
278
|
unit: nil,
|
@@ -70,7 +70,8 @@ module OpenHAB
|
|
70
70
|
builder = BuilderDSL.new(binding || block.binding)
|
71
71
|
builder.uid(id)
|
72
72
|
builder.instance_exec(builder, &block)
|
73
|
-
builder.guard = Guard.new(run_context: builder.caller,
|
73
|
+
builder.guard = Guard.new(run_context: builder.caller,
|
74
|
+
only_if: builder.only_if,
|
74
75
|
not_if: builder.not_if)
|
75
76
|
|
76
77
|
name ||= NameInference.infer_rule_name(builder)
|
@@ -1075,28 +1076,50 @@ module OpenHAB
|
|
1075
1076
|
#
|
1076
1077
|
# @overload cron(second: nil, minute: nil, hour: nil, dom: nil, month: nil, dow: nil, year: nil, attach: nil)
|
1077
1078
|
# The trigger can be created by specifying each field as keyword arguments.
|
1078
|
-
#
|
1079
|
+
#
|
1080
|
+
# When certain fields were omitted:
|
1081
|
+
# - The more specific fields will default to `0` for `hour`, `minute`, and `second`,
|
1082
|
+
# to `MON` for `dow`, and to `1` for `dom` and `month`.
|
1083
|
+
# - The less specific fields will default to `*` or `?` as appropriate.
|
1079
1084
|
#
|
1080
1085
|
# Each field is optional, but at least one must be specified.
|
1081
1086
|
#
|
1082
1087
|
# The same rules for the standard
|
1083
1088
|
# [cron expression](https://www.quartz-scheduler.org/documentation/quartz-2.2.2/tutorials/tutorial-lesson-06.html)
|
1084
1089
|
# apply for each field. For example, multiple values can be separated
|
1085
|
-
# with a comma within a string
|
1086
|
-
#
|
1087
|
-
#
|
1088
|
-
# @param [Integer, String, nil]
|
1089
|
-
# @param [Integer, String, nil]
|
1090
|
-
# @param [Integer, String, nil]
|
1091
|
-
# @param [Integer, String, nil]
|
1092
|
-
# @param [Integer, String, nil]
|
1093
|
-
# @param [Integer, String, nil]
|
1090
|
+
# with a comma within a string, and ranges can be specified with a dash or with
|
1091
|
+
# a Ruby Range.
|
1092
|
+
#
|
1093
|
+
# @param [Integer, String, Range, nil] second
|
1094
|
+
# @param [Integer, String, Range, nil] minute
|
1095
|
+
# @param [Integer, String, Range, nil] hour
|
1096
|
+
# @param [Integer, String, Symbol, Range, nil] dom
|
1097
|
+
# @param [Integer, String, Symbol, Range, nil] month
|
1098
|
+
# @param [Integer, String, Symbol, Range, nil] dow
|
1099
|
+
# @param [Integer, String, Range, nil] year
|
1094
1100
|
# @param [Object] attach object to be attached to the trigger
|
1095
|
-
#
|
1101
|
+
#
|
1102
|
+
# @example Using String values
|
1096
1103
|
# # Run every 3 minutes on Monday to Friday
|
1097
1104
|
# # equivalent to the cron expression "0 */3 * ? * MON-FRI *"
|
1098
1105
|
# rule "Using cron fields" do
|
1099
|
-
# cron
|
1106
|
+
# cron minute: "*/3", dow: "MON-FRI"
|
1107
|
+
# run { logger.info "Cron rule executed" }
|
1108
|
+
# end
|
1109
|
+
#
|
1110
|
+
# @example Defaults for unspecified fields
|
1111
|
+
# # Run at midnight on the first day of January, February, and March
|
1112
|
+
# # equivalent to the cron expression "0 0 0 1 JAN-MAR ? *"
|
1113
|
+
# rule "Using cron fields" do
|
1114
|
+
# cron month: "JAN-MAR"
|
1115
|
+
# run { logger.info "Cron rule executed" }
|
1116
|
+
# end
|
1117
|
+
#
|
1118
|
+
# @example Using Ruby Range values
|
1119
|
+
# # Run on the hour, every hour between 1pm and 5pm
|
1120
|
+
# # equivalent to the cron expression "0 0 13-17 ? * ? *"
|
1121
|
+
# rule "Using cron fields" do
|
1122
|
+
# cron hour: 13..17
|
1100
1123
|
# run { logger.info "Cron rule executed" }
|
1101
1124
|
# end
|
1102
1125
|
#
|
@@ -1559,8 +1582,12 @@ module OpenHAB
|
|
1559
1582
|
# @deprecated OH3.4 - OH3 config uses eventXXX vs OH4 uses `topic`, `source`, and `types`
|
1560
1583
|
# See https://github.com/openhab/openhab-core/pull/3299
|
1561
1584
|
trigger("core.GenericEventTrigger",
|
1562
|
-
eventTopic: topic,
|
1563
|
-
|
1585
|
+
eventTopic: topic,
|
1586
|
+
eventSource: source,
|
1587
|
+
eventTypes: types, # @deprecated OH3.4
|
1588
|
+
topic: topic,
|
1589
|
+
source: source,
|
1590
|
+
types: types,
|
1564
1591
|
attach: attach)
|
1565
1592
|
end
|
1566
1593
|
|
@@ -1831,10 +1858,11 @@ module OpenHAB
|
|
1831
1858
|
types = [binding.local_variable_get(:for)].flatten
|
1832
1859
|
|
1833
1860
|
WatchHandler::WatchTriggerHandlerFactory.instance # ensure it's registered
|
1834
|
-
trigger(WatchHandler::WATCH_TRIGGER_MODULE_ID,
|
1835
|
-
|
1836
|
-
|
1837
|
-
|
1861
|
+
trigger(WatchHandler::WATCH_TRIGGER_MODULE_ID,
|
1862
|
+
path: path.to_s,
|
1863
|
+
types: types.map(&:to_s),
|
1864
|
+
glob: glob.to_s,
|
1865
|
+
attach: attach)
|
1838
1866
|
end
|
1839
1867
|
|
1840
1868
|
# @!endgroup
|
@@ -29,7 +29,7 @@ module OpenHAB
|
|
29
29
|
# @param [Hash] inputs inputs from trigger
|
30
30
|
# @return [true, false] if the conditions passed (and therefore the block was run)
|
31
31
|
#
|
32
|
-
def process(mod:, inputs:)
|
32
|
+
def process(mod:, inputs:)
|
33
33
|
logger.trace("Checking #{inputs} against condition trigger #{self}")
|
34
34
|
unless check_value(Conditions.old_state_from(inputs), @from) &&
|
35
35
|
check_value(Conditions.new_state_from(inputs), @to) &&
|
@@ -26,16 +26,15 @@ module OpenHAB
|
|
26
26
|
# @return [Hash] Map with symbols for :seconds, :minute, :hour, :dom, :month, :dow
|
27
27
|
# configured to fire every second
|
28
28
|
#
|
29
|
-
CRON_EXPRESSION_MAP =
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
}.freeze
|
29
|
+
CRON_EXPRESSION_MAP = {
|
30
|
+
second: "*",
|
31
|
+
minute: "*",
|
32
|
+
hour: "*",
|
33
|
+
dom: "?",
|
34
|
+
month: "*",
|
35
|
+
dow: "?",
|
36
|
+
year: "*"
|
37
|
+
}.freeze
|
39
38
|
private_constant :CRON_EXPRESSION_MAP
|
40
39
|
|
41
40
|
# @return [Hash] Map of days of the week from symbols to to openHAB cron strings
|
@@ -52,7 +51,6 @@ module OpenHAB
|
|
52
51
|
|
53
52
|
# @return [Hash] Converts the DAY_OF_WEEK_MAP to map used by Cron Expression
|
54
53
|
DAY_OF_WEEK_EXPRESSION_MAP = DAY_OF_WEEK_MAP.transform_values { |v| CRON_EXPRESSION_MAP.merge(dow: v) }
|
55
|
-
|
56
54
|
private_constant :DAY_OF_WEEK_EXPRESSION_MAP
|
57
55
|
|
58
56
|
# @return [Hash] Create a set of cron expressions based on different time intervals
|
@@ -65,9 +63,12 @@ module OpenHAB
|
|
65
63
|
month: CRON_EXPRESSION_MAP.merge(second: "0", minute: "0", hour: "0", dom: "1"),
|
66
64
|
year: CRON_EXPRESSION_MAP.merge(second: "0", minute: "0", hour: "0", dom: "1", month: "1")
|
67
65
|
}.merge(DAY_OF_WEEK_EXPRESSION_MAP).freeze
|
68
|
-
|
69
66
|
private_constant :EXPRESSION_MAP
|
70
67
|
|
68
|
+
# @return [Hash] Translate cron field names to expression keys
|
69
|
+
FIELD_TO_EXPRESSION_KEY = Hash.new { |_, key| key }.merge({ dow: :week, dom: :day })
|
70
|
+
private_constant :FIELD_TO_EXPRESSION_KEY
|
71
|
+
|
71
72
|
#
|
72
73
|
# Create a cron map from a duration
|
73
74
|
#
|
@@ -124,10 +125,28 @@ module OpenHAB
|
|
124
125
|
"unknown keyword#{"s" if extra_fields.size > 1}: #{extra_fields.map(&:inspect).join(", ")}"
|
125
126
|
end
|
126
127
|
|
127
|
-
fields = fields.
|
128
|
+
fields = fields.to_h do |key, value|
|
129
|
+
if value.is_a?(Range)
|
130
|
+
if value.exclude_end?
|
131
|
+
raise ArgumentError,
|
132
|
+
"Range must be inclusive for '#{key}'. Try '#{value.begin}..#{value.end}' instead"
|
133
|
+
end
|
134
|
+
|
135
|
+
unless value.begin && value.end
|
136
|
+
raise ArgumentError,
|
137
|
+
"Range must have a beginning and ending for '#{key}'"
|
138
|
+
end
|
139
|
+
|
140
|
+
[key, "#{value.begin.to_s.upcase}-#{value.end.to_s.upcase}".delete(" ")]
|
141
|
+
else
|
142
|
+
[key, value.to_s.delete(" ").upcase]
|
143
|
+
end
|
144
|
+
end
|
145
|
+
# convert fields' key dow->week, dom->day to look into EXPRESSION_MAP
|
146
|
+
fields_expression = fields.transform_keys { |key| FIELD_TO_EXPRESSION_KEY[key] }
|
128
147
|
# find the first expression map that has a field from fields.
|
129
148
|
# this ensure more-specific fields get set to 0, not *
|
130
|
-
base_key = EXPRESSION_MAP.keys.find { |field, _|
|
149
|
+
base_key = EXPRESSION_MAP.keys.find { |field, _| fields_expression.key?(field) }
|
131
150
|
base_expression = EXPRESSION_MAP[base_key]
|
132
151
|
expression_map = base_expression.merge(fields)
|
133
152
|
|
@@ -187,7 +187,8 @@ module OpenHAB
|
|
187
187
|
configuration = Core::Configuration.new(config)
|
188
188
|
if thing_type
|
189
189
|
self.class.thing_factory_helper.apply_default_configuration(
|
190
|
-
configuration,
|
190
|
+
configuration,
|
191
|
+
thing_type,
|
191
192
|
self.class.config_description_registry
|
192
193
|
)
|
193
194
|
end
|
@@ -200,7 +201,8 @@ module OpenHAB
|
|
200
201
|
|
201
202
|
if thing_type
|
202
203
|
# can't use with_channels, or it will wipe out custom channels from above
|
203
|
-
self.class.thing_factory_helper.create_channels(thing_type,
|
204
|
+
self.class.thing_factory_helper.create_channels(thing_type,
|
205
|
+
uid,
|
204
206
|
self.class.config_description_registry).each do |channel|
|
205
207
|
builder.with_channel(channel)
|
206
208
|
end
|
data/lib/openhab/dsl/version.rb
CHANGED
data/lib/openhab/osgi.rb
CHANGED
@@ -46,7 +46,7 @@ module OpenHAB
|
|
46
46
|
|
47
47
|
bundle = org.osgi.framework.FrameworkUtil.get_bundle(interfaces.first.java_class)
|
48
48
|
bundle.bundle_context.register_service(
|
49
|
-
interfaces.map
|
49
|
+
interfaces.map { |i| i.java_class.name }.to_java(java.lang.String),
|
50
50
|
instance,
|
51
51
|
java.util.Hashtable.new(properties)
|
52
52
|
)
|
data/lib/openhab/rspec/karaf.rb
CHANGED
@@ -154,7 +154,9 @@ module OpenHAB
|
|
154
154
|
klass.field_accessor :classLoader, :activatorManager
|
155
155
|
klass.field_writer :framework
|
156
156
|
klass.field_reader :LOG
|
157
|
-
org.apache.karaf.main.ConfigProperties.field_reader :props,
|
157
|
+
org.apache.karaf.main.ConfigProperties.field_reader :props,
|
158
|
+
:defaultBundleStartlevel,
|
159
|
+
:karafEtc,
|
158
160
|
:defaultStartLevel
|
159
161
|
klass.class_eval do
|
160
162
|
def send_private(method_name, *args)
|
@@ -472,7 +474,8 @@ module OpenHAB
|
|
472
474
|
thf = Mocks::ThingHandlerFactory.instance
|
473
475
|
bundle = org.osgi.framework.FrameworkUtil.get_bundle(org.openhab.core.thing.Thing.java_class)
|
474
476
|
Mocks::BundleResolver.instance.register_class(thf.class, bundle)
|
475
|
-
bundle.bundle_context.register_service(org.openhab.core.thing.binding.ThingHandlerFactory.java_class,
|
477
|
+
bundle.bundle_context.register_service(org.openhab.core.thing.binding.ThingHandlerFactory.java_class,
|
478
|
+
thf,
|
476
479
|
nil)
|
477
480
|
end
|
478
481
|
end
|
@@ -3,7 +3,6 @@
|
|
3
3
|
module OpenHAB
|
4
4
|
module Core
|
5
5
|
module Actions
|
6
|
-
# rubocop:disable Lint/UnusedMethodArgument
|
7
6
|
# redefine these to do nothing so that rules won't fail
|
8
7
|
|
9
8
|
module_function
|
@@ -31,8 +30,6 @@ module OpenHAB
|
|
31
30
|
end
|
32
31
|
end
|
33
32
|
end
|
34
|
-
|
35
|
-
# rubocop:enable Lint/UnusedMethodArgument
|
36
33
|
end
|
37
34
|
end
|
38
35
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openhab-scripting
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.6.
|
4
|
+
version: 5.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian O'Connell
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2023-09-
|
13
|
+
date: 2023-09-12 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: bundler
|
@@ -214,14 +214,14 @@ dependencies:
|
|
214
214
|
requirements:
|
215
215
|
- - "~>"
|
216
216
|
- !ruby/object:Gem::Version
|
217
|
-
version: 1.13
|
217
|
+
version: '1.13'
|
218
218
|
type: :development
|
219
219
|
prerelease: false
|
220
220
|
version_requirements: !ruby/object:Gem::Requirement
|
221
221
|
requirements:
|
222
222
|
- - "~>"
|
223
223
|
- !ruby/object:Gem::Version
|
224
|
-
version: 1.13
|
224
|
+
version: '1.13'
|
225
225
|
- !ruby/object:Gem::Dependency
|
226
226
|
name: persistent_httparty
|
227
227
|
requirement: !ruby/object:Gem::Requirement
|
@@ -279,33 +279,19 @@ dependencies:
|
|
279
279
|
- !ruby/object:Gem::Version
|
280
280
|
version: '3.11'
|
281
281
|
- !ruby/object:Gem::Dependency
|
282
|
-
name: rubocop
|
282
|
+
name: rubocop-inst
|
283
283
|
requirement: !ruby/object:Gem::Requirement
|
284
284
|
requirements:
|
285
|
-
- - "
|
285
|
+
- - ">="
|
286
286
|
- !ruby/object:Gem::Version
|
287
|
-
version: '
|
287
|
+
version: '0'
|
288
288
|
type: :development
|
289
289
|
prerelease: false
|
290
290
|
version_requirements: !ruby/object:Gem::Requirement
|
291
291
|
requirements:
|
292
|
-
- - "
|
293
|
-
- !ruby/object:Gem::Version
|
294
|
-
version: '1.8'
|
295
|
-
- !ruby/object:Gem::Dependency
|
296
|
-
name: rubocop-performance
|
297
|
-
requirement: !ruby/object:Gem::Requirement
|
298
|
-
requirements:
|
299
|
-
- - "~>"
|
300
|
-
- !ruby/object:Gem::Version
|
301
|
-
version: '1.11'
|
302
|
-
type: :development
|
303
|
-
prerelease: false
|
304
|
-
version_requirements: !ruby/object:Gem::Requirement
|
305
|
-
requirements:
|
306
|
-
- - "~>"
|
292
|
+
- - ">="
|
307
293
|
- !ruby/object:Gem::Version
|
308
|
-
version: '
|
294
|
+
version: '0'
|
309
295
|
- !ruby/object:Gem::Dependency
|
310
296
|
name: rubocop-rake
|
311
297
|
requirement: !ruby/object:Gem::Requirement
|