Class: A2A::Part

Inherits:
Object
  • Object
show all
Defined in:
lib/a2a/part.rb,
lib/a2a/part/data.rb,
lib/a2a/part/file.rb,
lib/a2a/part/text.rb

Defined Under Namespace

Classes: Data, File, Text

Class Method Summary collapse

Class Method Details

.from_h(hash) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/a2a/part.rb', line 9

def self.from_h(hash)
  if hash.key?("text")
    Part::Text.from_h(hash)
  elsif hash.key?("data")
    Part::Data.from_h(hash)
  elsif hash.key?("raw") || hash.key?("url")
    Part::File.from_h(hash)
  else
    raise ArgumentError, "cannot detect Part type from keys: #{hash.keys.inspect}"
  end
end