search_ui 0.2.0 → 0.3.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: e7d5feb21158fa490f48360724a1e4bd0110a1dd64d89c6bbb79be5bf8de3019
4
- data.tar.gz: e162cee1ef6035b7ea1305360c88d260b5ebb0b5ecf91fe573a2d0be5c50eaca
3
+ metadata.gz: f7f6fca3d9ba87b61984b165b1a2d61fff1e11c2d6ad46e2c9af944f917a973c
4
+ data.tar.gz: fcf83ece6431de1f2d733f9af803883fb715f55188041ecbebc0fca83f687a72
5
5
  SHA512:
6
- metadata.gz: 66b6d79977ab604dc5cb1fec8bb6c5e9467ac80af1a7ad4e95dab2466aa6c5d48f98e5b4e3fd820a1522f16dfcd88e02690759a09ef8d906f21a3d8e6d32a079
7
- data.tar.gz: eebad124b4790a0059b7ce0fd7b337cbb55d439035a04e869ca6d040130a333b3d63531ed21d40b0745200493831cc653513ff3c4b7d2324a94172ac67d8fa38
6
+ metadata.gz: 476baebb8eb065b104201bfb85fe62288c8dc3923ef11db2aeff0140f7c082974f49dff9ace589ed0186b2c5da182d50a89c4c64645d50dc5867ee6778293428
7
+ data.tar.gz: 8872b95adff98b2028f1305aeea5e8377e52ba00a4f674c18b73ea7ee1891d5ed75a5c20a8de755f0e562562bff5e80aa54f6a6cad2954d07a11735c9f76454a
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
@@ -1,6 +1,11 @@
1
+ # Version information for the SearchUI gem.
2
+ #
3
+ # This module is auto-generated by GemHadar and exposes the
4
+ # current release version as a set of constants. Do not edit it
5
+ # by hand; it is rewritten on every `rake version` invocation.
1
6
  module SearchUI
2
- # SearchUI version
3
- VERSION = '0.2.0'
7
+ # The current version of the SearchUI gem as a String.
8
+ VERSION = '0.3.0'
4
9
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
10
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
11
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
@@ -17,7 +17,8 @@ class SearchUI::Wrapper < BasicObject
17
17
  # Initializes a new wrapper.
18
18
  #
19
19
  # @param value [Object] The object you want to wrap.
20
- # @option options [String, Proc] :display Custom display string or block that returns it.
20
+ # @param display [String, Proc] Custom display string or a callable
21
+ # receiving the wrapped value (or no args) and returning a display string.
21
22
  # Defaults to `value.to_s`.
22
23
  def initialize(value, display: value.to_s)
23
24
  @value = value
@@ -43,12 +44,22 @@ class SearchUI::Wrapper < BasicObject
43
44
 
44
45
  # String representation of the wrapped object.
45
46
  #
46
- # If a custom `display` was supplied, that string is returned; otherwise,
47
- # it falls back to `value.to_s`.
47
+ # If `display` is a String, it is returned as-is. If it is a callable,
48
+ # it is invoked (passing the wrapped value when arity ≥ 1) and its
49
+ # return value is used. Otherwise falls back to `value.to_s`.
48
50
  #
49
51
  # @return [String]
50
52
  def to_s
51
- @display.to_s
53
+ if @display.respond_to?(:call)
54
+ case @display.method(:call).arity
55
+ when 0
56
+ @display.()
57
+ else
58
+ @display.(@value)
59
+ end
60
+ else
61
+ @display
62
+ end.to_s
52
63
  end
53
64
 
54
65
  alias to_str to_s
data/search_ui.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: search_ui 0.2.0 ruby lib
2
+ # stub: search_ui 0.3.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "search_ui".freeze
6
- s.version = "0.2.0".freeze
6
+ s.version = "0.3.0".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
@@ -18,13 +18,13 @@ Gem::Specification.new do |s|
18
18
  s.licenses = ["MIT".freeze]
19
19
  s.rdoc_options = ["--title".freeze, "SearchUI -- Search User Interface".freeze, "--main".freeze, "README.md".freeze]
20
20
  s.required_ruby_version = Gem::Requirement.new(">= 2.0".freeze)
21
- s.rubygems_version = "4.0.10".freeze
21
+ s.rubygems_version = "4.0.24".freeze
22
22
  s.summary = "Library to provide a user interface for searching in a console".freeze
23
23
  s.test_files = ["spec/search_ui/wrapper_spec.rb".freeze, "spec/spec_helper.rb".freeze]
24
24
 
25
25
  s.specification_version = 4
26
26
 
27
- s.add_development_dependency(%q<gem_hadar>.freeze, [">= 2.17.1".freeze])
27
+ s.add_development_dependency(%q<gem_hadar>.freeze, [">= 2.21.0".freeze])
28
28
  s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0".freeze])
29
29
  s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.0".freeze])
30
30
  s.add_development_dependency(%q<debug>.freeze, [">= 0".freeze])
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: search_ui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: 2.17.1
18
+ version: 2.21.0
19
19
  type: :development
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
- version: 2.17.1
25
+ version: 2.21.0
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -158,7 +158,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
160
  requirements: []
161
- rubygems_version: 4.0.10
161
+ rubygems_version: 4.0.24
162
162
  specification_version: 4
163
163
  summary: Library to provide a user interface for searching in a console
164
164
  test_files: