Class: Textus::Action::List
Class Method Summary collapse
-
.call(container:, call: nil, prefix: nil, lane: nil) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument.
- .leaf_keys(container:, prefix: nil, lane: nil) ⇒ Object
Methods inherited from Base
Methods included from Contract::DSL
#arg, #cli, #cli_stdin, #contract, #contract?, #summary, #surfaces, #verb, #view
Class Method Details
.call(container:, call: nil, prefix: nil, lane: nil) ⇒ Object
rubocop:disable Lint/UnusedMethodArgument
15 16 17 18 19 20 |
# File 'lib/textus/action/list.rb', line 15 def self.call(container:, call: nil, prefix: nil, lane: nil) # rubocop:disable Lint/UnusedMethodArgument manifest = container.manifest rows = manifest.resolver.enumerate(prefix: prefix) rows = rows.select { |row| row[:manifest_entry].lane == lane } if lane Success(rows.map { |row| { "key" => row[:key], "lane" => row[:manifest_entry].lane, "path" => row[:path] } }) end |
.leaf_keys(container:, prefix: nil, lane: nil) ⇒ Object
22 23 24 25 |
# File 'lib/textus/action/list.rb', line 22 def self.leaf_keys(container:, prefix: nil, lane: nil) rows = Value::Result.unwrap(call(container: container, prefix: prefix, lane: lane)) rows.map { |row| row.is_a?(Hash) ? (row["key"] || row[:key]) : row } end |