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.

Source Distribution

interactor-0.1.2.tar.gz (2.0 kB view details)

Uploaded Source

File details

Details for the file interactor-0.1.2.tar.gz.

File metadata

  • Download URL: interactor-0.1.2.tar.gz
  • Upload date:
  • Size: 2.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for interactor-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9bdb1910b912b66a977d039c745c250acde047541abfabee04925cc8284208e7
MD5 ed08c67911100d18f73eec0c095dcf02
BLAKE2b-256 b7bd9682c29bedd8002e42ab5b90a1c245951ffe0185bd83ca501b4036960b5c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page