Skip to main content

Interactor provides a common interface for performing complex user interactions.

Project description

# interactor
Interactor provides a common interface for performing complex user interactions. It's inspired by [collectiveidea's interactor gem](https://github.com/collectiveidea/interactor).

### An Example Interactor

```python
from interactor import Interactor

class AuthenticateUser(Interacotr):

def run(self):

user = User.authenticate(self.context.email, self.context.password)
if user:
self.context.user = user
self.context.token = user.secret_token
else:
raise RuntimeError('Fail to authenticate user')
```

### Usage

```python
from somewhere import AuthenticateUser

ctx = AuthenticateUser.call(email='test@gmail.com', password='secret')
print ctx.user
print ctx.token
```

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for interactor, version 0.1.2
Filename, size File type Python version Upload date Hashes
Filename, size interactor-0.1.2.tar.gz (2.0 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page