Class: Aspera::Cli::Deprecation
- Inherits:
-
Struct
- Object
- Struct
- Aspera::Cli::Deprecation
- Defined in:
- lib/aspera/cli/deprecation.rb
Overview
Deprecation of a feature (e.g. an option).
Instance Attribute Summary collapse
-
#last ⇒ Object
readonly
Last released version supporting the feature without deprecation, e.g.
-
#message ⇒ Object
readonly
What to use instead, e.g.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(**kwargs) ⇒ Deprecation
constructor
A new instance of Deprecation.
-
#to_s ⇒ String
E.g.
Constructor Details
#initialize(**kwargs) ⇒ Deprecation
Returns a new instance of Deprecation.
12 13 14 15 16 17 18 19 |
# File 'lib/aspera/cli/deprecation.rb', line 12 def initialize(**kwargs) super Aspera.assert_type(last, String) { 'deprecation last' } Aspera.assert(Gem::Version.correct?(last) && Gem::Version.new(last) < Gem::Version.new(VERSION)) do "deprecation: last (#{last}) must be a released version, before #{VERSION}" end Aspera.assert_type(, String) { 'deprecation message' } end |
Instance Attribute Details
#last ⇒ Object (readonly)
Last released version supporting the feature without deprecation, e.g. 4.25.0
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/aspera/cli/deprecation.rb', line 11 Deprecation = Struct.new(:last, :message, keyword_init: true) do def initialize(**kwargs) super Aspera.assert_type(last, String) { 'deprecation last' } Aspera.assert(Gem::Version.correct?(last) && Gem::Version.new(last) < Gem::Version.new(VERSION)) do "deprecation: last (#{last}) must be a released version, before #{VERSION}" end Aspera.assert_type(, String) { 'deprecation message' } end # @return [String] e.g. `deprecated after 4.25.0: use --out.level` def to_s = "deprecated after #{last}: #{}" class << self # @param value [Deprecation, Hash, nil] Deprecation, or its attributes: `{last:, message:}` # @return [Deprecation, nil] def create(value) case value when nil, Deprecation then value when Hash then new(**value) else Aspera.error_unexpected_value(value.class) { 'deprecation, expect Hash {last:, message:}' } end end end end |
#message ⇒ Object (readonly)
What to use instead, e.g. use --out.level
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/aspera/cli/deprecation.rb', line 11 Deprecation = Struct.new(:last, :message, keyword_init: true) do def initialize(**kwargs) super Aspera.assert_type(last, String) { 'deprecation last' } Aspera.assert(Gem::Version.correct?(last) && Gem::Version.new(last) < Gem::Version.new(VERSION)) do "deprecation: last (#{last}) must be a released version, before #{VERSION}" end Aspera.assert_type(, String) { 'deprecation message' } end # @return [String] e.g. `deprecated after 4.25.0: use --out.level` def to_s = "deprecated after #{last}: #{}" class << self # @param value [Deprecation, Hash, nil] Deprecation, or its attributes: `{last:, message:}` # @return [Deprecation, nil] def create(value) case value when nil, Deprecation then value when Hash then new(**value) else Aspera.error_unexpected_value(value.class) { 'deprecation, expect Hash {last:, message:}' } end end end end |
Class Method Details
.create(value) ⇒ Deprecation?
27 28 29 30 31 32 33 |
# File 'lib/aspera/cli/deprecation.rb', line 27 def create(value) case value when nil, Deprecation then value when Hash then new(**value) else Aspera.error_unexpected_value(value.class) { 'deprecation, expect Hash {last:, message:}' } end end |
Instance Method Details
#to_s ⇒ String
Returns e.g. deprecated after 4.25.0: use --out.level.
22 |
# File 'lib/aspera/cli/deprecation.rb', line 22 def to_s = "deprecated after #{last}: #{}" |