Class: HaveAPI::Fs::Components::MetaInput

Inherits:
Directory show all
Defined in:
lib/haveapi/fs/components/meta_input.rb

Constant Summary

Constants included from Help

Help::SEARCH_PATH

Instance Attribute Summary

Attributes inherited from HaveAPI::Fs::Component

#atime, #context, #ctime, #mtime

Instance Method Summary collapse

Methods inherited from Directory

#directory?

Methods included from Help

find!, included

Methods inherited from HaveAPI::Fs::Component

#abspath, #bound=, #bound?, children_reader, component, #directory?, #executable?, #file?, #find, inherited, #invalid?, #invalidate, #parent, #path, #readable?, #reset, #setup, #times, #unsaved?, #use, #writable?

Constructor Details

#initialize(action_dir, *args) ⇒ MetaInput

Returns a new instance of MetaInput.



6
7
8
9
10
# File 'lib/haveapi/fs/components/meta_input.rb', line 6

def initialize(action_dir, *args)
  super(*args)

  @action_dir = action_dir
end

Instance Method Details

#contentsObject



12
13
14
# File 'lib/haveapi/fs/components/meta_input.rb', line 12

def contents
  super + parameters.keys.map(&:to_s)
end

#parametersObject



16
17
18
# File 'lib/haveapi/fs/components/meta_input.rb', line 16

def parameters
  @action_dir.action.instance_variable_get('@spec')[:meta][:global][:input][:parameters]
end

#titleObject



24
25
26
# File 'lib/haveapi/fs/components/meta_input.rb', line 24

def title
  'Input metadata parameters'
end

#valuesObject



20
21
22
# File 'lib/haveapi/fs/components/meta_input.rb', line 20

def values
  Hash[children.select { |n, c| c.is_a?(Parameter) && c.set? }.map { |n, c| [n, c.value] }]
end