Class: Discorb::Embed
- Inherits:
- 
      Object
      
        - Object
- Discorb::Embed
 
- Defined in:
- lib/discorb/embed.rb
Overview
Represents an embed of discord.
Defined Under Namespace
Classes: Author, Field, Footer, Image, Provider, Thumbnail, Video
Instance Attribute Summary collapse
- 
  
    
      #author -> Discorb::Embed::Author? 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The author of embed. 
- 
  
    
      #color -> Discorb::Color? 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The color of embed. 
- 
  
    
      #description -> String? 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The description of embed. 
- 
  
    
      #fields -> Array<Discorb::Embed::Field> 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The fields of embed. 
- 
  
    
      #footer -> Discorb::Embed::Footer? 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The footer of embed. 
- 
  
    
      #image -> Discorb::Embed::Image 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The image of embed. 
- 
  
    
      #thumbnail -> Discorb::Embed::Thumbnail 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The thumbnail of embed. 
- 
  
    
      #timestamp -> Time? 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The timestamp of embed. 
- 
  
    
      #title -> String? 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The title of embed. 
- 
  
    
      #type -> Symbol 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    The type of embed. 
- 
  
    
      #url -> String? 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    The url of embed. 
Class Method Summary collapse
Instance Method Summary collapse
- 
  
    
      #initialize(title = nil, description = nil, color: nil, url: nil, timestamp: nil, author: nil, fields: nil, footer: nil, image: nil, thumbnail: nil) -> Embed 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    Initialize a new Embed object. 
- #inspect -> Object
- 
  
    
      #to_hash -> Hash 
    
    
  
  
  
  
  
  
  
  
  
    Convert embed to hash. 
Constructor Details
#initialize(title = nil, description = nil, color: nil, url: nil, timestamp: nil, author: nil, fields: nil, footer: nil, image: nil, thumbnail: nil) -> Embed
Initialize a new Embed object.
| 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | # File 'lib/discorb/embed.rb', line 47 def initialize( title = nil, description = nil, color: nil, url: nil, timestamp: nil, author: nil, fields: nil, footer: nil, image: nil, thumbnail: nil ) @title = title @description = description @url = url @timestamp = @color = color && (color.is_a?(Color) ? color : Color.new(color)) @author = @fields = fields || [] @footer = @image = image && (image.is_a?(String) ? Image.new(image) : image) @thumbnail = thumbnail && (thumbnail.is_a?(String) ? Thumbnail.new(thumbnail) : thumbnail) @type = :rich end | 
Instance Attribute Details
#author -> Discorb::Embed::Author?
Returns The author of embed.
| 19 20 21 | # File 'lib/discorb/embed.rb', line 19 def @author end | 
#color -> Discorb::Color?
Returns The color of embed.
| 17 18 19 | # File 'lib/discorb/embed.rb', line 17 def color @color end | 
#description -> String?
Returns The description of embed.
| 11 12 13 | # File 'lib/discorb/embed.rb', line 11 def description @description end | 
#fields -> Array<Discorb::Embed::Field>
Returns The fields of embed.
| 21 22 23 | # File 'lib/discorb/embed.rb', line 21 def fields @fields end | 
#footer -> Discorb::Embed::Footer?
Returns The footer of embed.
| 23 24 25 | # File 'lib/discorb/embed.rb', line 23 def @footer end | 
#image -> Discorb::Embed::Image
Returns The image of embed.
| 28 29 30 | # File 'lib/discorb/embed.rb', line 28 def image @image end | 
#thumbnail -> Discorb::Embed::Thumbnail
Returns The thumbnail of embed.
| 28 29 30 | # File 'lib/discorb/embed.rb', line 28 def thumbnail @thumbnail end | 
#timestamp -> Time?
Returns The timestamp of embed.
| 15 16 17 | # File 'lib/discorb/embed.rb', line 15 def @timestamp end | 
#title -> String?
Returns The title of embed.
| 9 10 11 | # File 'lib/discorb/embed.rb', line 9 def title @title end | 
#type -> Symbol (readonly)
Returns The type of embed.
| 25 26 27 | # File 'lib/discorb/embed.rb', line 25 def type @type end | 
#url -> String?
Returns The url of embed.
| 13 14 15 | # File 'lib/discorb/embed.rb', line 13 def url @url end | 
Class Method Details
.from_hash(data) -> Object
| 148 149 150 151 152 | # File 'lib/discorb/embed.rb', line 148 def self.from_hash(data) inst = allocate inst.initialize_hash(data) inst end | 
Instance Method Details
#inspect -> Object
| 122 123 124 | # File 'lib/discorb/embed.rb', line 122 def inspect "#<#{self.class} \"#{@title}\">" end | 
#to_hash -> Hash
Convert embed to hash.
| 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 | # File 'lib/discorb/embed.rb', line 132 def to_hash # @type var ret: Hash[untyped, untyped] ret = { type: "rich" } ret[:title] = @title if @title ret[:description] = @description if @description ret[:url] = @url if @url ret[:timestamp] = @timestamp&.iso8601 if @timestamp ret[:color] = @color&.to_i if @color ret[:footer] = @footer&.to_hash if @footer ret[:image] = @image&.to_hash if @image ret[:thumbnail] = @thumbnail&.to_hash if @thumbnail ret[:author] = @author&.to_hash if @author ret[:fields] = @fields&.map(&:to_hash) if @fields.any? ret end |