fusuma 3.4.0 → 3.5.0

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
  SHA256:
3
- metadata.gz: 2069b9d7aebc84b8476061feceda9dbccdc1496d631bc321918c64df252fef40
4
- data.tar.gz: 2efa46442f89aa15aa53f4e4b743f6cb4ef2449ca3f487a1a35940ad9ae38b9f
3
+ metadata.gz: 352237ad297e7171f4e0ab18f96b1560e90ce1835b2591e01213496876388b42
4
+ data.tar.gz: 11b61f92f937ac7857800d10e6967367674e691cc883a12e81a343f084a8073b
5
5
  SHA512:
6
- metadata.gz: 6b13060987b8cceadf030c6601a4f05886b2d0db6c44f900e33f0c5f689afcf48ab98809d12014394da24e9be5bde3b303f15527c792b540e6f352d1b39f4225
7
- data.tar.gz: b3620182b6cc50c22582e36927b478c6a68b1e86b3cfe7eee7fc29060e87d2ce1f3e36579e112cbfb62b488927aae427ad75630210c4db53e3127619a487253b
6
+ metadata.gz: 49d73eaa0635211cb018992b4c7d8cfd238a7f7d9811db33248578873ad21b04b0cbdaaecbc7469c34d18c9205e1de574be85f47e91cc7c986460f29adb18aa4
7
+ data.tar.gz: a0beefc19aefe6cf1ffeb879b3dc070af75e65b620a5b68a0765bb9cbb09f4df3f0d689e4b67b3963f90e7ece9398a0543014874f6555abb320c19698997d3d5
@@ -81,18 +81,20 @@ module Fusuma
81
81
  # Search with context from load_streamed Config
82
82
  # @param context [Hash]
83
83
  # @return [Object]
84
- def with_context(context, &block)
85
- @context = context || {}
84
+ def with_context(context = {}, &block)
85
+ before = @context
86
+ @context = context
86
87
  result = block.call
87
- @context = {}
88
+ ensure # NOTE: ensure is called even if return in block
89
+ @context = before
88
90
  result
89
91
  end
90
92
 
91
- CONEXT_SEARCH_ORDER = [:no_context, :complete_match_context, :partial_match_context]
93
+ CONTEXT_SEARCH_ORDER = [:no_context, :complete_match_context, :partial_match_context]
92
94
  # Return a matching context from config
93
95
  # @params request_context [Hash]
94
96
  # @return [Hash]
95
- def find_context(request_context, fallbacks = CONEXT_SEARCH_ORDER, &block)
97
+ def find_context(request_context, fallbacks = CONTEXT_SEARCH_ORDER, &block)
96
98
  # Search in blocks in the following order.
97
99
  # 1. primary context(no context)
98
100
  # 2. complete match config[:context] == request_context
@@ -31,6 +31,11 @@ module Fusuma
31
31
  def clear_expired(current_time: Time.now)
32
32
  end
33
33
 
34
+ # @return [TrueClass, FalseClass]
35
+ def empty?
36
+ @events.empty?
37
+ end
38
+
34
39
  # clear buffer
35
40
  def clear
36
41
  @events.clear
@@ -127,10 +127,6 @@ module Fusuma
127
127
  @events.last.record.gesture
128
128
  end
129
129
 
130
- def empty?
131
- @events.empty?
132
- end
133
-
134
130
  def select_by_events(&block)
135
131
  return enum_for(:select_by_events) unless block
136
132
 
@@ -34,10 +34,6 @@ module Fusuma
34
34
  @events.delete(e)
35
35
  end
36
36
  end
37
-
38
- def empty?
39
- @events.empty?
40
- end
41
37
  end
42
38
  end
43
39
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fusuma
4
- VERSION = "3.4.0"
4
+ VERSION = "3.5.0"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fusuma
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - iberianpig
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-19 00:00:00.000000000 Z
11
+ date: 2024-01-29 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Fusuma is multitouch gesture recognizer. This gem makes your touchpad
14
14
  on Linux able to recognize swipes or pinchs and assign command to them. Read installation