Hi tim what was the result of you chat? Because to me I would go for the first solution because in any case you would have to modify the sprintsIn: method if the argument is really changing so I do not see the point to carry around and extra arguments to all the methods. stef On Mon, Jun 12, 2017 at 9:15 PM, Tim Mackinnon <tim@testit.works> wrote:
Hi - Iâm after some ideas or maybe previous examples that might guide me in the best approach of wrapping a low level library (essentially the Jira connector that Phil demoâd at Pharo days this year).
There are some low level commands that will fetch json arrays for you given a âliraâ instance- e.g:
board := JiraBoard fromJira: jira named: âProject'. sprints := board sprintsFrom: jira.
My question is related to building on top of this - and its a style question.
I want model objects that wrap the json arrays and let me navigate things a bit more simply, and query details more naturally - however I canât decide whether my model objects should âcontainâ a jira when you instantiate them - which can be re-used for subsequent queries - OR - whether I should view jira as a from of context, and keep passing it to methods when I need to retrieve more details, or child objects?
e.g. myBoard := ModelBoard fromJira: jira named: âProjectâ. mySprints := myBoard sprints. âNo need to pass the jira againâ.
vs.
mySprints :- myBoard sprintsIn: jira.
Iâm wondering if anything might guide me one way or the other? Is one more tasteful/elegant than the other?
Tim