Sha256: b578b8520cba6b5d46facf54465b478ab0c4f8d854c93514a4280800ae2d8113

Contents?: true

Size: 849 Bytes

Versions: 10

Compression:

Stored size: 849 Bytes

Contents

# encoding: utf-8
require 'fedux_org_stdlib/require_files'
require_library %w( hirb )

module FeduxOrgStdlib
  # A list
  #
  # @example Usage
  #
  #   data = [
  #     {
  #       item1: 'data1',
  #       item2: 'data2'
  #     },
  #     {
  #       item1: 'data1',
  #       item2: 'data2'
  #     },
  #   ]
  #
  #   list = List.new(data)
  #   puts list
  class List
    private

    attr_reader :data

    public

    def initialize(*data)
      @data = data.flatten.map { |e| Hash(e) }
    end

    # Render data to table
    #
    # @param [Hash] options
    #   Options which are supported by Hirb
    def to_s(**options)
      Hirb::Helpers::Table.render data, header_filter: proc(&:humanize), **options
    end

    # Data as array
    #
    # @return [Array]
    #   The data as array
    def to_a
      Array(data)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
fedux_org-stdlib-0.7.31 lib/fedux_org_stdlib/list.rb
fedux_org-stdlib-0.7.30 lib/fedux_org_stdlib/list.rb
fedux_org-stdlib-0.7.29 lib/fedux_org_stdlib/list.rb
fedux_org-stdlib-0.7.28 lib/fedux_org_stdlib/list.rb
fedux_org-stdlib-0.7.27 lib/fedux_org_stdlib/list.rb
fedux_org-stdlib-0.7.26 lib/fedux_org_stdlib/list.rb
fedux_org-stdlib-0.7.25 lib/fedux_org_stdlib/list.rb
fedux_org-stdlib-0.7.24 lib/fedux_org_stdlib/list.rb
fedux_org-stdlib-0.7.23 lib/fedux_org_stdlib/list.rb
fedux_org-stdlib-0.7.22 lib/fedux_org_stdlib/list.rb