class MessagebirdTexter::Response::Body

Attributes

content[R]
created_datetime[R]
datacoding[R]
direction[R]
gateway[R]
href[R]
id[R]
mclass[R]
originator[R]
recipients[R]
reference[R]
scheduled_datetime[R]
type[R]
validity[R]

Public Class Methods

new(body) click to toggle source
# File lib/messagebird_texter/response/body.rb, line 21
def initialize(body)
  parsed_body         = JSON.parse(body, symbolize_names: true)
  @id                 = parsed_body[:id]
  @href               = parsed_body[:href]
  @direction          = parsed_body[:direction]
  @type               = parsed_body[:type]
  @originator         = parsed_body[:originator]
  @content            = parsed_body[:body]
  @reference          = parsed_body[:reference]
  @validity           = parsed_body[:validity]
  @gateway            = parsed_body[:gateway]
  @datacoding         = parsed_body[:datacoding]
  @mclass             = parsed_body[:mclass]
  @scheduled_datetime = parsed_body[:scheduledDatetime]
  @created_datetime   = parsed_body[:createdDatetime]
  @recipients         = parsed_body[:recipients]
end

Private Instance Methods

item(item) click to toggle source
# File lib/messagebird_texter/response/body.rb, line 65
def item(item)
  {
    recipient: item[:recipient],
    status: item[:status],
    status_datetime: Date.parse(item[:statusDatetime])
  }
end
items() click to toggle source
# File lib/messagebird_texter/response/body.rb, line 59
def items
  @recipients[:items].map do |i|
    OpenStruct.new(item(i))
  end
end