Skip to content
  • Elias Perez's avatar
    [WIP] Remove amber directories from spec and src (#204) · a3d253a8
    Elias Perez authored
    * Remove amber directories from spec and src
    
    Moves the cmd directory outside of the amber directory and renames
    the core directory to Amber.
    
    Modules namespaces conventions should follow a directory structure
    where/when possible to keep the project cohesive and to understand
    where things are. For instance Amber::Controller should point to
    amber/controller directory.
    
    Currently there is a mismatched directory to module structure because
    of the core directory, amber/core/controller but the module is
    still Amber::Controller I tried/consider renaming the modules to include
    core, but it was just not right and the module namespacing became
    unnecessarily too long eg Amber::Core::Controller. For this reason,
    is better keep amber instead of core to maintain cohesion and logical
    file structure.
    
    This addresses the concern by
    
    - Removes the extra amber directory from src and spec directory.
    - Cleans and consolidates the specs
    - Organizes the spec directories
    - Changes namespace from Amber::CMD to Amber::CLI
    - Adds Server directory for server related classes/modules
    - It runs generated specs for the generated app
    - Cleaner source dir
    ```crystal
    -- src
      -- amber
      -- cli
      amber.cr
    ```
    
    What side effect does this change have
    
    - Since merging Amber::CLI with Amber CLI specs run with the Amber
    suite causing it to be slower.
    
    * minor bug fix
    
    * another path issue
    a3d253a8