bootinq 1.6 → 1.7

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: 33cdc97b02b2407bf6cf031dbac9e0fdae903d6a97a60e266b058729d6a43895
4
- data.tar.gz: 1cba1d8a6a48ff92ba80dbcad36623a7389f95f512b8d844debc5c7c22644e6b
3
+ metadata.gz: ab4d92e0581dec34e3b8c35ab842953fc6c488a7ff7a79aab4e155e0ec04b598
4
+ data.tar.gz: 8d1b03413cb95941d3c34fa33e5167ae717a1152fb824f9fc4ca4c95232e3374
5
5
  SHA512:
6
- metadata.gz: 7a4b636bbdea12800a0b367bd5e4294c9681738200597100725595bd3ce3f4f6a5d4b95c14594249cba8755fa11206ba6a01fc516923e1e72493a34efbb79b1d
7
- data.tar.gz: b6c5e5d242ffff08ac9f00a680dd760979879769e9a752193e039453f31d86684ce97f9d7e19167e36de4ede4003ae9e7a1e42647288082e36bee6badd58095e
6
+ metadata.gz: 957af1a041fb5230543b149ae7bb3fa14b455e0070232c60afe617c6dfce34712d3d9ea118aad38d2fd824ef253cb6af38a1e4a115d9f5862a2680ce4d2a48e2
7
+ data.tar.gz: 3dcecd28f93e44b34e7401fb6c4702754f57cac19706996a74fdbc306a9251d0fd7f8360afcd07470d37627461af4ecf1ea45e03f626b52543123d1991453d72
data/README.md CHANGED
@@ -148,7 +148,7 @@ require 'bootinq'
148
148
 
149
149
  # Bundler.require :default, ENV['RACK_ENV']
150
150
  Bootinq.require :default, ENV['RACK_ENV'], verbose: true
151
-
151
+ ```
152
152
 
153
153
  ## Development
154
154
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Bootinq
4
- VERSION = "1.6"
4
+ VERSION = "1.7"
5
5
  end
data/lib/bootinq.rb CHANGED
@@ -61,6 +61,8 @@ class Bootinq
61
61
  "deps" => {}
62
62
  }.freeze
63
63
 
64
+ ALL = %i[* all].freeze
65
+
64
66
  FilterNegValue = -> (value, config) do
65
67
  if value.start_with?(?-, ?^)
66
68
  value = value.tr('\\-', '\\^')
@@ -168,7 +170,7 @@ class Bootinq
168
170
  # Checks if a component with the given name (i.e. the same gem group)
169
171
  # is enabled
170
172
  def enabled?(name)
171
- components.include?(name)
173
+ ALL.include?(name) || components.include?(name)
172
174
  end
173
175
 
174
176
  # :call-seq:
@@ -233,6 +235,11 @@ class Bootinq
233
235
  # # do something when frontend and backend are enabled
234
236
  # end
235
237
  def on(name = nil, any: nil, all: nil) # :yields:
238
+ if ALL.include?(name)
239
+ yield
240
+ return true
241
+ end
242
+
236
243
  if name.nil? && any.nil? && all.nil?
237
244
  raise ArgumentError, "wrong arguments (given 0, expected 1)"
238
245
  elsif (any && all) || (name && (any || all))
@@ -253,7 +260,7 @@ class Bootinq
253
260
  # Takes a list of component names and yields a given block (optionally)
254
261
  # if all of them are enabled. Returns boolean matching status.
255
262
  def on_all(*parts) # :yields:
256
- is_matched = parts.all? { |p| enabled?(p) }
263
+ is_matched = parts.all? { |part| enabled?(part) }
257
264
  yield if is_matched && block_given?
258
265
  is_matched
259
266
  end
@@ -264,7 +271,7 @@ class Bootinq
264
271
  # Takes a list of component names and yields a given block (optionally)
265
272
  # if any of them are enabled. Returns boolean matching status.
266
273
  def on_any(*parts) # :yields:
267
- is_matched = parts.any? { |p| enabled?(p) }
274
+ is_matched = parts.any? { |part| enabled?(part) }
268
275
  yield if is_matched && block_given?
269
276
  is_matched
270
277
  end
@@ -302,25 +309,22 @@ class Bootinq
302
309
  super
303
310
  end
304
311
 
305
- delegate_template = <<~RUBY
306
- def self.%1$s(*args, &block)
307
- instance.%1$s(*args, &block)
308
- end
309
- RUBY
310
-
311
- %I(flags
312
- components
313
- ready?
314
- ready!
315
- enable_component
316
- enabled?
317
- component
318
- []
319
- each_mountable
320
- groups
321
- on
322
- on_all
323
- on_any
324
- switch
325
- ).each { |sym| class_eval(delegate_template % sym, *instance_method(sym).source_location) }
312
+ extend SingleForwardable
313
+
314
+ delegate %I[
315
+ component
316
+ components
317
+ each_mountable
318
+ enabled?
319
+ enable_component
320
+ flags
321
+ groups
322
+ on
323
+ on_all
324
+ on_any
325
+ ready!
326
+ ready?
327
+ switch
328
+ []
329
+ ] => :instance
326
330
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bootinq
3
3
  version: !ruby/object:Gem::Version
4
- version: '1.6'
4
+ version: '1.7'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-04 00:00:00.000000000 Z
11
+ date: 2022-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -64,7 +64,7 @@ homepage: https://github.com/estum/bootinq
64
64
  licenses:
65
65
  - MIT
66
66
  metadata: {}
67
- post_install_message:
67
+ post_install_message:
68
68
  rdoc_options: []
69
69
  require_paths:
70
70
  - lib
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
80
  version: '0'
81
81
  requirements: []
82
82
  rubygems_version: 3.0.3
83
- signing_key:
83
+ signing_key:
84
84
  specification_version: 4
85
85
  summary: Rails Boot Inquirer
86
86
  test_files: []