Sha256: dad1001ec125b8f447c08d1c29ed3c43e9694658a371b62ffc4bf57791abcbe1

Contents?: true

Size: 1.02 KB

Versions: 39

Compression:

Stored size: 1.02 KB

Contents

module HammerCLI::Output


  class MetaData

    attr_accessor :total, :subtotal, :page, :per_page, :search, :sort_by, :sort_order, :pagination_verbosity

    def initialize(options={})
      @total = options[:total].to_i if options[:total]
      @subtotal = options[:subtotal].to_i if options[:subtotal]
      @page = options[:page].to_i if options[:page]
      @per_page = options[:per_page].to_i if options[:per_page]
      @search = options[:search]
      @sort_by = options[:sort_by]
      @sort_order = options[:sort_order]
      @pagination_verbosity = options[:pagination_verbosity] || HammerCLI::V_VERBOSE
    end

    def pagination_set?
      !(@total.nil? || @subtotal.nil? || @page.nil? || @per_page.nil?)
    end

  end


  class RecordCollection < Array

    attr_accessor :meta

    def initialize(data, options={})
      super [data].flatten(1)
      if options.has_key?(:meta) && options[:meta].class <= MetaData
        @meta = options[:meta]
      else
        @meta = MetaData.new(options)
      end
    end

  end
end

Version data entries

39 entries across 39 versions & 1 rubygems

Version Path
hammer_cli-3.14.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.13.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.12.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.10.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.9.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.8.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.7.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.5.1 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.6.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.5.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.4.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.3.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.2.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.1.1 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.0.2 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.1.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.0.1 lib/hammer_cli/output/record_collection.rb
hammer_cli-3.0.0 lib/hammer_cli/output/record_collection.rb
hammer_cli-2.5.1 lib/hammer_cli/output/record_collection.rb
hammer_cli-2.5.0 lib/hammer_cli/output/record_collection.rb