It uses the PyDoc local server on the links, so ensure the server is up and running
Juniper
The methodology used is a mix of object-oriented with functional programming.
Object-oriented
You can share functionality and behavior using inheritance. Task python package contain the classes for some entity task. This entities, or classes, inherits from AbstractTask.
Issue #15 show a detailed explanation of the expectations of a taskentity.
Now, the management of tasks execution uses functional programming.
Functional programming
Small independent units represents a functional pattern. Cli module solves the problem of receiving a configuration file and starting the tasks. Some functions receives a configuration argument and they can modify it as they wish, and that way sharing that object although this is not done. These functions require a configuration to work, yet sharing is optional.
There is a collaborative relationship between classes and functions.
Approach
Different methodologies can lead to different approaches.
Bottom-Up
The first issues to solve are the fundamentals one. The main function at juniper.cli module solves the problem of:
The framework exposes much fundamental utilities, and can enforce a methodology where each task is solves one issue, and all tasks put together solves the whole problem.
Description
Write a report showing detailed information about
It uses the PyDoc local server on the links, so ensure the server is up and running
Juniper
The methodology used is a mix of object-oriented with functional programming.
Object-oriented
You can share functionality and behavior using inheritance. Task python package contain the classes for some entity
task
. This entities, or classes, inherits from AbstractTask.Issue #15 show a detailed explanation of the expectations of a
task
entity.Now, the management of tasks execution uses functional programming.
Functional programming
Small independent units represents a functional pattern. Cli module solves the problem of receiving a configuration file and starting the tasks. Some functions receives a
configuration
argument and they can modify it as they wish, and that way sharing that object although this is not done. These functions require aconfiguration
to work, yet sharing is optional.There is a collaborative relationship between classes and functions.
Approach
Different methodologies can lead to different approaches.
Bottom-Up
The first issues to solve are the fundamentals one. The
main
function atjuniper.cli
module solves the problem of:The basic is to have a configuration that tasks requires. Parsing a
yaml
file begins the development process, as on commit https://github.com/sec0uth/brick-abode-project-interview/commit/bd92500db48aebe34984187e0e89acc2fdf6e7d3 .Then the holes were filled until the implementation of the
main
function, on commit https://github.com/sec0uth/brick-abode-project-interview/commit/720afd3b9e4d08f36593f3b0be013f85e1c5b171 .Ansible
The framework exposes much fundamental utilities, and can enforce a methodology where each task is solves one issue, and all tasks put together solves the whole problem.
Tests
https://github.com/sec0uth/brick-abode-project-interview/issues/14