An error occurred fetching the project authors.
  1. 06 Jul, 2017 3 commits
    • Valery Sizov's avatar
      Slack application service · f50ef96b
      Valery Sizov authored
      f50ef96b
    • Yorick Peterse's avatar
      Added Cop to blacklist the use of `dependent:` · dddf1378
      Yorick Peterse authored
      This is allowed for existing instances so we don't end up 76 offenses
      right away, but for new code one should _only_ use this if they _have_
      to remove non database data. Even then it's usually better to do this in
      a service class as this gives you more control over how to remove the
      data (e.g. in bulk).
      dddf1378
    • Yorick Peterse's avatar
      Add many foreign keys to the projects table · 028db84c
      Yorick Peterse authored
      This removes the need for relying on Rails' "dependent" option for data
      removal, which is _incredibly_ slow (even when using :delete_all) when
      deleting large amounts of data. This also ensures data consistency is
      enforced on DB level and not on application level (something Rails is
      really bad at).
      
      This commit also includes various migrations to add foreign keys to
      tables that eventually point to "projects" to ensure no rows get
      orphaned upon removing a project.
      028db84c
  2. 05 Jul, 2017 1 commit
  3. 30 Jun, 2017 1 commit
  4. 29 Jun, 2017 1 commit
  5. 28 Jun, 2017 7 commits
  6. 27 Jun, 2017 1 commit
  7. 26 Jun, 2017 1 commit
  8. 23 Jun, 2017 3 commits
  9. 22 Jun, 2017 1 commit
  10. 21 Jun, 2017 6 commits
    • Yorick Peterse's avatar
      Refactor GroupProjectsFinder#init_collection · bd819aa9
      Yorick Peterse authored
      This optimises how GroupProjectsFinder builds it collection, producing
      simpler and faster queries in the process. It also cleans up the code a
      bit to make it easier to understand.
      bd819aa9
    • Yorick Peterse's avatar
      Refactor Project.with_feature_available_for_user · 80deee92
      Yorick Peterse authored
      This method used to use a UNION, which would lead to it performing the
      same query twice; producing less than ideal performance. Further, in
      certain cases ActiveRecord could get confused and mess up the variable
      bindings, though it's not clear how/why exactly this happens.
      
      Fortunately we can work around all of this by building some of the WHERE
      conditions manually, allowing us to use a simple OR statement to get all
      the data we want without any of the above problems.
      80deee92
    • Yorick Peterse's avatar
      Inject EE specific modules using EE::Project · 37d7f8b9
      Yorick Peterse authored
      This ensures that Project only includes a single prepend for
      EE::Project, which in turn takes care of the rest.
      37d7f8b9
    • Grzegorz Bizon's avatar
      Add Rubocop Style/DotPosition Cop · 31c844da
      Grzegorz Bizon authored
      31c844da
    • Grzegorz Bizon's avatar
      Enable Style/DotPosition Rubocop :cop: · 0430b764
      Grzegorz Bizon authored
      0430b764
    • Yorick Peterse's avatar
      Move EE specific code out of Project · 48c62d42
      Yorick Peterse authored
      This moves all EE specific code out of the Project model into separate
      modules. State machine logic is injected using the
      EE::Project::ImportStatusStateMachine module. By moving all this code
      out of the Project model we reduce the number of possible merge
      conflicts.
      48c62d42
  11. 19 Jun, 2017 2 commits
  12. 16 Jun, 2017 2 commits
    • Pawel Chojnacki's avatar
      6e4d5334
    • Yorick Peterse's avatar
      Refactor Project.with_feature_available_for_user · 73bf9413
      Yorick Peterse authored
      This method used to use a UNION, which would lead to it performing the
      same query twice; producing less than ideal performance. Further, in
      certain cases ActiveRecord could get confused and mess up the variable
      bindings, though it's not clear how/why exactly this happens.
      
      Fortunately we can work around all of this by building some of the WHERE
      conditions manually, allowing us to use a simple OR statement to get all
      the data we want without any of the above problems.
      73bf9413
  13. 15 Jun, 2017 1 commit
  14. 13 Jun, 2017 2 commits
  15. 12 Jun, 2017 2 commits
  16. 08 Jun, 2017 2 commits
  17. 07 Jun, 2017 3 commits
  18. 05 Jun, 2017 1 commit