Class: FantasticRobot::Request::Base
- Inherits:
-
Object
- Object
- FantasticRobot::Request::Base
- Includes:
- ActiveModel::Model, ActiveModel::Serialization, ActiveModel::Serializers::JSON, ActiveModel::Validations
- Defined in:
- lib/fantastic_robot/request/base.rb
Direct Known Subclasses
ForwardMessage, GetMe, SendAudio, SendChatAction, SendDocument, SendLocation, SendMessage, SendPhoto, SendSticker, SendVideo, SendVoice, SetWebhook
Instance Attribute Summary collapse
-
#method ⇒ Object
readonly
Returns the value of attribute method.
Instance Method Summary collapse
-
#attributes ⇒ Object
Attribute map for ActiveModel::Serialization.
-
#initialize(attributes = {}) ⇒ Base
constructor
Initializer that assigns the fields received.
-
#send_request ⇒ Object
Send request to Telegram API.
-
#to_h ⇒ Object
Proxy to get a serialized version of the object.
Constructor Details
#initialize(attributes = {}) ⇒ Base
Initializer that assigns the fields received
12 13 14 |
# File 'lib/fantastic_robot/request/base.rb', line 12 def initialize(attributes = {}) super(attributes) end |
Instance Attribute Details
#method ⇒ Object (readonly)
Returns the value of attribute method.
9 10 11 |
# File 'lib/fantastic_robot/request/base.rb', line 9 def method @method end |
Instance Method Details
#attributes ⇒ Object
Attribute map for ActiveModel::Serialization.
17 18 19 |
# File 'lib/fantastic_robot/request/base.rb', line 17 def attributes Hash[instance_variables.map{|attrib| [attrib.to_s[1..attrib.to_s.size], nil]}] end |
#send_request ⇒ Object
Send request to Telegram API
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/fantastic_robot/request/base.rb', line 27 def send_request raise ArgumentError, "Method name not defined" if (self.method.blank?) payload = self.to_h payload.delete(:method) payload.each do |key, value| payload[key] = Faraday::UploadIO.new(payload[key], MIME::Types.type_for(payload[key].path).first.content_type) if (value.is_a?(File)) end FantasticRobot.connection.api_call self.method, payload end |
#to_h ⇒ Object
Proxy to get a serialized version of the object.
22 23 24 |
# File 'lib/fantastic_robot/request/base.rb', line 22 def to_h recursive_serialization(self) end |