Class: CodecFastSms::Core

Inherits:
Object
  • Object
show all
Defined in:
lib/codec_fast_sms/core.rb

Overview

Core

Direct Known Subclasses

Client

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(profile: :default, attributes: {}) ⇒ Core

Returns a new instance of Core.



7
8
9
10
11
12
13
14
# File 'lib/codec_fast_sms/core.rb', line 7

def initialize(profile: :default, attributes: {})
  self.profile = profile
  self.attributes = attributes
  # Firstly, create a connection object.
  self.connection = Faraday.new(
    url: ::CodecFastSms.configuration(profile).api_host
  )
end

Instance Attribute Details

#attributesObject

Returns the value of attribute attributes.



6
7
8
# File 'lib/codec_fast_sms/core.rb', line 6

def attributes
  @attributes
end

#connectionObject

Returns the value of attribute connection.



6
7
8
# File 'lib/codec_fast_sms/core.rb', line 6

def connection
  @connection
end

#messageObject

Returns the value of attribute message.



6
7
8
# File 'lib/codec_fast_sms/core.rb', line 6

def message
  @message
end

#profileObject

Returns the value of attribute profile.



6
7
8
# File 'lib/codec_fast_sms/core.rb', line 6

def profile
  @profile
end

#responseObject

Returns the value of attribute response.



6
7
8
# File 'lib/codec_fast_sms/core.rb', line 6

def response
  @response
end

#toObject

Returns the value of attribute to.



6
7
8
# File 'lib/codec_fast_sms/core.rb', line 6

def to
  @to
end

Instance Method Details

#current_configObject

Get the configuration by profile



32
33
34
# File 'lib/codec_fast_sms/core.rb', line 32

def current_config
  ::CodecFastSms.configuration(profile)
end

#paramsObject



29
# File 'lib/codec_fast_sms/core.rb', line 29

def params; end

#performObject

Call the api and process the response.



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/codec_fast_sms/core.rb', line 17

def perform
  resp = connection.get(request_uri) do |req|
    req.params = params
  end
  self.response = resp.body
  # If server returns 200, everything is OK.
  true
rescue Faraday::Error => e
  self.response = { message: e.message }
  false
end