Sha256: d814aa816554f8dcce91080eb808380b0ccdd222dbc6797e94002bdaed32c36c

Contents?: true

Size: 1.13 KB

Versions: 2

Compression:

Stored size: 1.13 KB

Contents

# typed: strict
# frozen_string_literal: true

module LunchMoney
  # A slimmed down version of https://lunchmoney.dev/#categories-object used in the
  # `children` field of some category calls
  class ChildCategory < LunchMoney::DataObject
    sig { returns(Integer) }
    attr_accessor :id

    sig { returns(String) }
    attr_accessor :name

    sig { returns(T.nilable(String)) }
    attr_accessor :description, :archived_on, :updated_at, :created_at

    sig { returns(T.nilable(T::Boolean)) }
    attr_accessor :archived

    sig do
      params(
        id: Integer,
        name: String,
        archived: T.nilable(T::Boolean),
        archived_on: T.nilable(String),
        updated_at: T.nilable(String),
        created_at: T.nilable(String),
        description: T.nilable(String),
      ).void
    end
    def initialize(id:, name:, archived: nil, archived_on: nil, updated_at: nil, created_at: nil, description: nil)
      super()
      @id = id
      @name = name
      @archived = archived
      @archived_on = archived_on
      @updated_at = updated_at
      @created_at = created_at
      @description = description
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
lunchmoney-1.0.0 lib/lunchmoney/categories/category/child_category.rb
lunchmoney-0.10.0 lib/lunchmoney/categories/category/child_category.rb