Installation

Add this line to your application's Gemfile:

gem 'postwill'

And then execute:

$ bundle

Single provider

postwill = Postwill::Client.new(
                   twitter: {
                     access_token: 'access_token',
                     access_token_secret: 'access_token_secret'
                   }
                 )

postwill.to(:twitter, text: 'text', image: 'image')

Success:

{
  twitter: {
    status: :ok,
    response: {} # Hash of response data depends on provider
  }
}

Failure:

{
  twitter: {
    status: :error,
    response: '' # String error message
  }
}

Application credentials

config/initializers/postwill.rb

Postwill::Settings.configure do |config|
  config.providers.twitter = {
    consumer_key: 'your_consumer_key',
    consumer_secret: 'your_consumer_secret'
  }
end

Multiple providers

postwill = Postwill::Client.new(
                   twitter: {
                     access_token: 'access_token',
                     access_token_secret: 'access_token_secret'
                   },
                   facebook: {
                     access_token: 'access_token'
                   }
                 )

postwill.to(%i[twitter facebook], text: 'text', image: 'image')

Result:

{
  twitter: {
    status: :ok,
    response: {} # Response data
  },
  facebook: {
    status: :ok,
    response: {} # Response data
  }
}

Application credentials(for providers which need them)

config/initializers/postwill.rb

Postwill::Settings.configure do |config|
  config.providers.twitter = {
    consumer_key: 'your_consumer_key',
    consumer_secret: 'your_consumer_secret'
  }
end