Class: Subroutine::Outputs::Configuration

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/subroutine/outputs/configuration.rb

Constant Summary collapse

DEFAULT_OPTIONS =
{ required: true }.freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(output_name, config) ⇒ Configuration

Returns a new instance of Configuration.



22
23
24
25
# File 'lib/subroutine/outputs/configuration.rb', line 22

def initialize(output_name, config)
  @output_name = output_name
  super(DEFAULT_OPTIONS.merge(config))
end

Instance Attribute Details

#output_nameObject (readonly)

Returns the value of attribute output_name.



20
21
22
# File 'lib/subroutine/outputs/configuration.rb', line 20

def output_name
  @output_name
end

Class Method Details

.from(field_name, options) ⇒ Object



9
10
11
12
13
14
15
16
# File 'lib/subroutine/outputs/configuration.rb', line 9

def self.from(field_name, options)
  case options
  when Subroutine::Outputs::Configuration
    options.class.new(field_name, options)
  else
    new(field_name, options)
  end
end

Instance Method Details

#inspectObject



33
34
35
# File 'lib/subroutine/outputs/configuration.rb', line 33

def inspect
  "#<#{self.class}:#{object_id} name=#{output_name} config=#{config.inspect}>"
end

#required?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/subroutine/outputs/configuration.rb', line 29

def required?
  !!config[:required]
end