Module: Warb

Extended by:
DispatcherConcern
Defined in:
lib/warb.rb,
lib/warb/client.rb,
lib/warb/errors.rb,
lib/warb/version.rb,
lib/warb/category.rb,
lib/warb/language.rb,
lib/warb/response.rb,
lib/warb/connection.rb,
lib/warb/dispatcher.rb,
lib/warb/configuration.rb,
lib/warb/components/org.rb,
lib/warb/components/url.rb,
lib/warb/resources/flow.rb,
lib/warb/resources/text.rb,
lib/warb/components/name.rb,
lib/warb/resources/audio.rb,
lib/warb/resources/image.rb,
lib/warb/resources/video.rb,
lib/warb/components/email.rb,
lib/warb/components/phone.rb,
lib/warb/media_dispatcher.rb,
lib/warb/components/action.rb,
lib/warb/components/button.rb,
lib/warb/resources/contact.rb,
lib/warb/resources/sticker.rb,
lib/warb/components/address.rb,
lib/warb/dispatcher_concern.rb,
lib/warb/resources/currency.rb,
lib/warb/resources/document.rb,
lib/warb/resources/location.rb,
lib/warb/resources/reaction.rb,
lib/warb/resources/resource.rb,
lib/warb/resources/template.rb,
lib/warb/resources/date_time.rb,
lib/warb/template_dispatcher.rb,
lib/warb/components/component.rb,
lib/warb/indicator_dispatcher.rb,
lib/warb/resources/validation.rb,
lib/warb/components/url_button.rb,
lib/warb/components/flow_button.rb,
lib/warb/response_error_handler.rb,
lib/warb/resources/helpers/header.rb,
lib/warb/resources/interactive_list.rb,
lib/warb/resources/location_request.rb,
lib/warb/components/copy_code_button.rb,
lib/warb/components/voice_call_button.rb,
lib/warb/components/quick_reply_button.rb,
lib/warb/resources/interactive_reply_button.rb,
lib/warb/resources/interactive_call_to_action_url.rb

Defined Under Namespace

Modules: Category, Components, DispatcherConcern, Language, Resources Classes: BadRequest, Client, Configuration, Connection, CustomErrors, Dispatcher, Forbidden, IndicatorDispatcher, IntegrityError, InternalServerError, InvalidBusinessNumber, MediaDispatcher, NotFound, RequestError, Response, ResponseErrorHandler, ServiceUnavailable, TemplateDispatcher, Unauthorized

Constant Summary collapse

MESSAGING_PRODUCT =
'whatsapp'
RECIPIENT_TYPE =
'individual'
HTTP_ERRORS =
{
  400 => BadRequest,
  401 => Unauthorized,
  403 => Forbidden,
  404 => NotFound,
  500 => InternalServerError,
  503 => ServiceUnavailable
}.freeze
VERSION =
'1.0.1'

Class Method Summary collapse

Methods included from DispatcherConcern

audio, contact, document, flow, image, indicator, interactive_call_to_action_url, interactive_list, interactive_reply_button, location, location_request, message, reaction, sticker, template, video

Class Method Details

.clientObject



76
77
78
# File 'lib/warb.rb', line 76

def client
  @client ||= Client.new(configuration)
end

.configurationObject



80
81
82
# File 'lib/warb.rb', line 80

def configuration
  @configuration ||= Configuration.new
end

.list_phone_numbersObject



90
91
92
# File 'lib/warb.rb', line 90

def list_phone_numbers
  client.get('phone_numbers', endpoint_prefix: :business_id).body['data']
end

.new(**args) ⇒ Object



72
73
74
# File 'lib/warb.rb', line 72

def new(**args)
  Client.new(**args)
end

.setup {|configuration| ... } ⇒ Object

Yields:



84
85
86
87
88
# File 'lib/warb.rb', line 84

def setup
  yield(configuration)

  client
end