Class: StarkBank::Boleto::Log

Inherits:
Utils::Resource show all
Defined in:
lib/boleto/log.rb

Overview

# Boleto::Log object

Every time a Boleto entity is updated, a corresponding Boleto::Log is generated for the entity. This log is never generated by the user, but it can be retrieved to check additional information on the Boleto.

## Attributes:

  • id [string]: unique id returned when the log is created. ex: “5656565656565656”

  • boleto [Boleto]: Boleto entity to which the log refers to.

  • errors [list of strings]: list of errors linked to this Boleto event

  • type [string]: type of the Boleto event which triggered the log creation. ex: “registered” or “paid”

  • created [DateTime]: creation datetime for the boleto. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Utils::Resource

#inspect, #to_s

Constructor Details

#initialize(id:, created:, type:, errors:, boleto:) ⇒ Log

Returns a new instance of Log.



25
26
27
28
29
30
31
# File 'lib/boleto/log.rb', line 25

def initialize(id:, created:, type:, errors:, boleto:)
  super(id)
  @type = type
  @errors = errors
  @boleto = boleto
  @created = StarkBank::Utils::Checks.check_datetime(created)
end

Instance Attribute Details

#boletoObject (readonly)

Returns the value of attribute boleto.



24
25
26
# File 'lib/boleto/log.rb', line 24

def boleto
  @boleto
end

#createdObject (readonly)

Returns the value of attribute created.



24
25
26
# File 'lib/boleto/log.rb', line 24

def created
  @created
end

#errorsObject (readonly)

Returns the value of attribute errors.



24
25
26
# File 'lib/boleto/log.rb', line 24

def errors
  @errors
end

#idObject (readonly)

Returns the value of attribute id.



24
25
26
# File 'lib/boleto/log.rb', line 24

def id
  @id
end

#typeObject (readonly)

Returns the value of attribute type.



24
25
26
# File 'lib/boleto/log.rb', line 24

def type
  @type
end

Class Method Details

.get(id, user: nil) ⇒ Object

# Retrieve a specific Log

Receive a single Log object previously created by the Stark Bank API by passing its id

## Parameters (required):

  • id [string]: object unique id. ex: “5656565656565656”

## Parameters (optional):

  • user [Project object]: Project object. Not necessary if StarkBank.user was set before function call

## Return:

  • Log object with updated attributes



45
46
47
# File 'lib/boleto/log.rb', line 45

def self.get(id, user: nil)
  StarkBank::Utils::Rest.get_id(id: id, user: user, **resource)
end

.query(limit: nil, after: nil, before: nil, types: nil, boleto_ids: nil, user: nil) ⇒ Object

# Retrieve Logs

Receive a generator of Log objects previously created in the Stark Bank API

## Parameters (optional):

  • limit [integer, default nil]: maximum number of objects to be retrieved. Unlimited if nil. ex: 35

  • after [Date, DateTime, Time or string, default nil] date filter for objects created only after specified date. ex: Date.new(2020, 3, 10)

  • before [Date, DateTime, Time or string, default nil] date filter for objects created only before specified date. ex: Date.new(2020, 3, 10)

  • types [list of strings, default nil]: filter for log event types. ex: ‘paid’ or ‘registered’

  • boleto_ids [list of strings, default nil]: list of Boleto ids to filter logs. ex: [‘5656565656565656’, ‘4545454545454545’]

  • user [Project object, default nil]: Project object. Not necessary if StarkBank.user was set before function call

## Return:

  • list of Log objects with updated attributes



63
64
65
66
67
68
69
70
71
72
73
74
75
# File 'lib/boleto/log.rb', line 63

def self.query(limit: nil, after: nil, before: nil, types: nil, boleto_ids: nil, user: nil)
  after = StarkBank::Utils::Checks.check_date(after)
  before = StarkBank::Utils::Checks.check_date(before)
  StarkBank::Utils::Rest.get_list(
    limit: limit,
    after: after,
    before: before,
    types: types,
    boleto_ids: boleto_ids,
    user: user,
    **resource
  )
end

.resourceObject



77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
# File 'lib/boleto/log.rb', line 77

def self.resource
  boleto_maker = StarkBank::Boleto.resource[:resource_maker]
  {
    resource_name: 'BoletoLog',
    resource_maker: proc { |json|
      Log.new(
        id: json['id'],
        created: json['created'],
        type: json['type'],
        errors: json['errors'],
        boleto: StarkBank::Utils::API.from_api_json(boleto_maker, json['boleto'])
      )
    }
  }
end