Class: BookingSync::Engine
- Inherits:
-
Rails::Engine
- Object
- Rails::Engine
- BookingSync::Engine
- Defined in:
- lib/bookingsync/engine.rb,
lib/bookingsync/engine/models.rb
Defined Under Namespace
Modules: AuthHelpers, Helpers, Models, SessionHelpers Classes: APIClient, ApplicationCredentials, CredentialsResolver
Class Method Summary collapse
- .application_token(client_id: , client_secret: ) ⇒ Object
-
.embedded! ⇒ Object
Set the engine into embedded mode.
-
.oauth_client(client_id: , client_secret: ) ⇒ OAuth2::Client
OAuth client configured for the application.
-
.standalone! ⇒ Object
Set the engine into standalone mode.
Instance Method Summary collapse
- #embedded ⇒ Boolean
-
#sign_out_after ⇒ Fixnum
Duration of inactivity after which the authorization will be reset.
Class Method Details
.application_token(client_id: , client_secret: ) ⇒ Object
87 88 89 |
# File 'lib/bookingsync/engine.rb', line 87 def self.application_token(client_id: ENV["BOOKINGSYNC_APP_ID"], client_secret: ENV["BOOKINGSYNC_APP_SECRET"]) oauth_client(client_id: client_id, client_secret: client_secret).client_credentials.get_token end |
.embedded! ⇒ Object
Set the engine into embedded mode.
Embedded apps are loaded from within the BookingSync app store, and have a different method to redirect during the OAuth authorization process. This method will not work when the app is not embedded.
59 60 61 |
# File 'lib/bookingsync/engine.rb', line 59 def self. self. = true end |
.oauth_client(client_id: , client_secret: ) ⇒ OAuth2::Client
OAuth client configured for the application.
The ENV variables used for configuration are described in README.
78 79 80 81 82 83 84 85 |
# File 'lib/bookingsync/engine.rb', line 78 def self.oauth_client(client_id: ENV["BOOKINGSYNC_APP_ID"], client_secret: ENV["BOOKINGSYNC_APP_SECRET"]) = { site: ENV["BOOKINGSYNC_URL"] || 'https://www.bookingsync.com', connection_opts: { headers: { accept: "application/vnd.api+json" } } } [:ssl] = { verify: ENV['BOOKINGSYNC_VERIFY_SSL'] != 'false' } OAuth2::Client.new(client_id, client_secret, ) end |
.standalone! ⇒ Object
Set the engine into standalone mode.
This setting is requried for the applications using this Engine to work outside of the BookingSync app store.
Restores the normal mode of redirecting during OAuth authorization.
69 70 71 |
# File 'lib/bookingsync/engine.rb', line 69 def self.standalone! self. = false end |
Instance Method Details
#embedded ⇒ Boolean
45 |
# File 'lib/bookingsync/engine.rb', line 45 cattr_accessor :embedded |
#sign_out_after ⇒ Fixnum
Duration of inactivity after which the authorization will be reset. See BookingSync::Engine::SessionHelpers#sign_out_if_inactive.
51 |
# File 'lib/bookingsync/engine.rb', line 51 cattr_accessor :sign_out_after |