class LinkedinV2::Templates::Payloads::UgcPost

Public Class Methods

new(**options) click to toggle source
# File lib/linkedin_v2/templates/payloads/ugc_post.rb, line 5
def initialize(**options)
  super(options)
end

Public Instance Methods

to_json() click to toggle source
# File lib/linkedin_v2/templates/payloads/ugc_post.rb, line 9
def to_json
  payload.to_json
end

Private Instance Methods

body() click to toggle source
# File lib/linkedin_v2/templates/payloads/ugc_post.rb, line 24
def body
  {
    "author" => "urn:li:#{entity}:#{identifier}",
    "lifecycleState" => "PUBLISHED",
    "specificContent" => {
      "com.linkedin.ugc.ShareContent" => {
        "shareCommentary" => {
          "text" => text
        },
        "shareMediaCategory" => "NONE",
      }
    },
    "visibility" => {
      "com.linkedin.ugc.MemberNetworkVisibility" => "PUBLIC"
    }
  }
end
entity() click to toggle source
# File lib/linkedin_v2/templates/payloads/ugc_post.rb, line 42
def entity
  options.fetch(:entity)
end
identifier() click to toggle source
# File lib/linkedin_v2/templates/payloads/ugc_post.rb, line 46
def identifier
  options.fetch(:identifier)
end
payload() click to toggle source
# File lib/linkedin_v2/templates/payloads/ugc_post.rb, line 15
def payload
  response = body
  if Helpers::Attribute.present?(picture)
    response = Helpers::Hash.deep_merge(response, picture_attribute)
  end

  response
end
picture() click to toggle source
# File lib/linkedin_v2/templates/payloads/ugc_post.rb, line 54
def picture
  options.fetch(:picture, nil)
end
picture_attribute() click to toggle source
# File lib/linkedin_v2/templates/payloads/ugc_post.rb, line 58
def picture_attribute
  {
    "specificContent" => {
      "com.linkedin.ugc.ShareContent" => {
        "shareMediaCategory" => "IMAGE",
        "media" => [
          {
            "media": picture,
            "status": "READY",
          }
        ],
      }
    },
  }
end
text() click to toggle source
# File lib/linkedin_v2/templates/payloads/ugc_post.rb, line 50
def text
  options.fetch(:text)
end