fusuma 3.4.0 → 3.5.0

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 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