Class: StarkBank::BoletoHolmes::Log
- Inherits:
-
Utils::Resource
- Object
- Utils::Resource
- StarkBank::BoletoHolmes::Log
- Defined in:
- lib/boleto_holmes/log.rb
Overview
# BoletoHolmes::Log object
Every time a BoletoHolmes entity is modified, a corresponding BoletoHolmes::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 BoletoHolmes.
## Attributes:
-
id [string]: unique id returned when the log is created. ex: ‘5656565656565656’
-
holmes [BoletoHolmes]: BoletoHolmes entity to which the log refers to.
-
type [string]: type of the Boleto event which triggered the log creation. ex: ‘registered’ or ‘paid’
-
created [DateTime]: creation datetime for the log. ex: DateTime.new(2020, 3, 10, 10, 30, 0, 0)
Instance Attribute Summary collapse
-
#created ⇒ Object
readonly
Returns the value of attribute created.
-
#holmes ⇒ Object
readonly
Returns the value of attribute holmes.
-
#id ⇒ Object
readonly
Returns the value of attribute id.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Class Method Summary collapse
-
.get(id, user: nil) ⇒ Object
# Retrieve a specific Log.
-
.query(limit: nil, after: nil, before: nil, types: nil, holmes_ids: nil, user: nil) ⇒ Object
# Retrieve Logs.
- .resource ⇒ Object
Instance Method Summary collapse
-
#initialize(id:, holmes:, type:, created:) ⇒ Log
constructor
A new instance of Log.
Methods inherited from Utils::Resource
Constructor Details
#initialize(id:, holmes:, type:, created:) ⇒ Log
24 25 26 27 28 29 |
# File 'lib/boleto_holmes/log.rb', line 24 def initialize(id:, holmes:, type:, created:) super(id) @holmes = holmes @type = type @created = StarkBank::Utils::Checks.check_datetime(created) end |
Instance Attribute Details
#created ⇒ Object (readonly)
Returns the value of attribute created.
23 24 25 |
# File 'lib/boleto_holmes/log.rb', line 23 def created @created end |
#holmes ⇒ Object (readonly)
Returns the value of attribute holmes.
23 24 25 |
# File 'lib/boleto_holmes/log.rb', line 23 def holmes @holmes end |
#id ⇒ Object (readonly)
Returns the value of attribute id.
23 24 25 |
# File 'lib/boleto_holmes/log.rb', line 23 def id @id end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
23 24 25 |
# File 'lib/boleto_holmes/log.rb', line 23 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 [Organization/Project object]: Organization or Project object. Not necessary if StarkBank.user was set before function call
## Return:
-
Log object with updated attributes
43 44 45 |
# File 'lib/boleto_holmes/log.rb', line 43 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, holmes_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’
-
holmes_ids [list of strings, default nil]: list of BoletoHolmes ids to filter logs. ex: [‘5656565656565656’, ‘4545454545454545’]
-
user [Organization/Project object]: Organization or Project object. Not necessary if Starkbank.user was set before function call
## Return:
-
list of Log objects with updated attributes
61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/boleto_holmes/log.rb', line 61 def self.query(limit: nil, after: nil, before: nil, types: nil, holmes_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, holmes_ids: holmes_ids, user: user, **resource ) end |
.resource ⇒ Object
75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/boleto_holmes/log.rb', line 75 def self.resource holmes_maker = StarkBank::BoletoHolmes.resource[:resource_maker] { resource_name: 'BoletoHolmesLog', resource_maker: proc { |json| Log.new( id: json['id'], holmes: StarkBank::Utils::API.from_api_json(holmes_maker, json['holmes']), type: json['type'], created: json['created'] ) } } end |