Class: Super::LinkBuilder
- Inherits:
-
Object
- Object
- Super::LinkBuilder
- Defined in:
- lib/super/link_builder.rb
Instance Attribute Summary collapse
-
#requirements ⇒ Object
readonly
Returns the value of attribute requirements.
Instance Method Summary collapse
-
#initialize(text, href, **options) ⇒ LinkBuilder
constructor
A new instance of LinkBuilder.
- #resolve(**kwargs) ⇒ Object
- #to_s(default_options: nil, **kwargs) ⇒ Object
Constructor Details
#initialize(text, href, **options) ⇒ LinkBuilder
Returns a new instance of LinkBuilder.
5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/super/link_builder.rb', line 5 def initialize(text, href, **) @text = text @href = href @options = @requirements = [] @requirements += gather_requirements(text) @requirements += gather_requirements(href) @requirements += gather_requirements() unknown_arguments = @requirements - known_requirements if unknown_arguments.any? raise Error::ArgumentError, "Unknown arguments: #{unknown_arguments.join(", ")}" end end |
Instance Attribute Details
#requirements ⇒ Object (readonly)
Returns the value of attribute requirements.
20 21 22 |
# File 'lib/super/link_builder.rb', line 20 def requirements @requirements end |
Instance Method Details
#resolve(**kwargs) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/super/link_builder.rb', line 26 def resolve(**kwargs) Link.new( into_value(@text, kwargs), into_value(@href, kwargs), **into_value(@options, kwargs), ) end |
#to_s(default_options: nil, **kwargs) ⇒ Object
22 23 24 |
# File 'lib/super/link_builder.rb', line 22 def to_s(default_options: nil, **kwargs) resolve(**kwargs).to_s(default_options: ) end |