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.

Filename, size & hash SHA256 hash help File type Python version Upload date
interactor-0.1.2.tar.gz (2.0 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page