Comments (5)
Not really. I'll just go with Ruby's duck typing: if it has a public call
method, you can invoke it.
from light-service.
With the organizer as the outward facing construct here, I dislike the idea of being required to use an organizer by doing a .call
. It makes the API less expressive and removes intent that can be communicated with that method name.
That said, I do like .call
as a hidden construct like execute
is with actions and the executed
macro, but I don't have a solution for what that would look like.
from light-service.
Thanks for the feedback @mattr-!
In order to get orchestrators working properly, we must know what the method is called on the organizer. See the documentation for it here. We could also use metaprogramming to find the one and only (assuming you have one) public class method, but that's error prone.
I've gotten into the habit of using longer organizer names now. So, instead of calling PullsDataFromApi.by_id(x)
, I just call the organizer PullsDataFromApiById.call(x)
.
from light-service.
Extending the name of the organizer might be useful here. Any worries about people confusing these with other types of callable objects and passing an object that responds to call
that isn't an organizer?
from light-service.
Closing this, as #98 has been merged.
from light-service.
Related Issues (20)
- Is there a LightService-like project in Python? HOT 2
- Yard Documentation to code write with light-service HOT 4
- Deprecation warning using organizer within an organizer HOT 7
- Rollback Block Not Invoked In Iterated Actions HOT 10
- Testing actions in isolation HOT 4
- [RFC] Closing pull requests while a new build is starting causes failures HOT 1
- Running actions in jobs HOT 11
- reusing modules within actions
- Surprising `add_to_context` orchestrator behaviour HOT 1
- How to handle default values for dependency injection? HOT 9
- Help testing LS release candidate HOT 6
- Why this gem add activesupport as runtime dependency? HOT 11
- around for Actions HOT 3
- Namespacing Organizers and Actions HOT 1
- Confused about context failure HOT 1
- Can I chain Organizers together? HOT 5
- `reduce_case` not supported when running Ruby < 2.7, but not documented as such HOT 1
- README's built-in localization adapter documentation has a bug
- How about an "after" hook that will be called after "fail_and_return!"? HOT 2
- Remove the ActiveSupport dependency
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from light-service.