diff options
| -rw-r--r-- | DEVNOTES.md | 61 | ||||
| -rw-r--r-- | INSTALL.md | 40 | ||||
| -rw-r--r-- | README.md | 7 |
3 files changed, 8 insertions, 100 deletions
diff --git a/DEVNOTES.md b/DEVNOTES.md deleted file mode 100644 index bcdd37f5e..000000000 --- a/DEVNOTES.md +++ /dev/null @@ -1,61 +0,0 @@ - -# Authorization Logic in Policies - -## Base Rules - -### ApplicationPolicy - -Policies inheriting from the `ApplicationPolicy` authorize _Undestructive_ _Permissions_ whiche are `index?` and -`show?`. And forbid _Destructive_ _Permissions_ which are `create?`, `destroy?` & `update`. - -These _CRUD_ permissions are tied to to _Action_ permissions, `delete?`→ `destroy?`, `edit?` → `update? and `new?`→ `create?`. - -These three _Action_ permissions are not supposed to be overriden in `ApplicationPolicy` subclasses. - - -### Common Policy Types - -There are two common policy types. - -#### Read Only Type Policy - -This corresponds to inheriting from `ApplicationPolicy` without overriding one of the five aforementioned _CRUD_ permissions. - -The following Policies are of this type. - - - `Company` - - `GroupOfLine` - - `Line` + custom - - `Network` - - `StopArea` - -#### Standard Type Policy - -The standard type policy inherits from `ApplicationPolicy` does not override any _Undesructive_ _Pemission_ but overrides the _Destructive_ ones. - -They are overriden as follows - -```ruby - def <destructive>? - !referential_read_only? && organisation_match? && user.has_permission('<resource in plural form>.<action>') - end -``` - -**An exception** is `Referntial` which **cannot** check for `organisation_match?` for creation as there is no referential. - -The following Policies are of this type. - - - `AccessLink` - - `AccessPoint` - - `Calendar` - - `ConnectionLink` - - `JourneyPattern` - - `Referential` + custom - - `Route` (used by `StopPoint` too) - - `RoutingConstraintZone` - - `TimeTable` + custom - - - - - diff --git a/INSTALL.md b/INSTALL.md index 392ef5d9f..e33ea9a92 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -5,7 +5,7 @@ Example with [rvm](https://rvm.io/) (other solutions : rbenv, packages..): ```sh -rvm install 2.3.1 +rvm install 2.3.5 ``` Nokogiri on macOS @@ -104,41 +104,7 @@ bundle exec rake db:create db:migrate Run : ```sh -bundle exec rake db:seed:stif -``` - -Two users are created : stif-boiv@af83.com/secret and stif-boiv+transporteur@af83.com/secret - -#### Synchronize with STIF CODIFLIGNE (Line) and REFLEX (StopArea) - -```sh -bundle exec rake codifligne:sync -bundle exec rake reflex:sync -``` - -**N.B.** These are asynchronous tasks, you can observe the launched jobs in your [Sidekiq Console](http://localhost:3000/sidekiq) - -#### Create Referential - -To create `Referential` objects with some data (`Route`, `JourneyPattern`, `VehicleJourney`, etc), you need to wait codifligne and reflex jobs finished. And then you can launch : - -```sh -bundle exec rake referential:create -``` - -### Run tests - -* Rspec (Rails test) - -```sh -bundle exec rake spec -``` - -* Jest (JavaScript tests) - -```sh -grunt jest #to run the whole specs. -grunt #to watch for changes and automatically run corresponding tests. +bundle exec rake db:seed ``` ### Run @@ -153,5 +119,3 @@ bundle exec sidekiq bin/webpack-dev-server // Launch webpack server to compile assets on the fly bundle exec rails server // Launch rails server ``` - -You need to have an account on [STIF Portail](http://stif-portail-dev.af83.priv/) to connect to the Rails application. @@ -1,5 +1,5 @@ # Chouette -[](https://codeclimate.com/github/af83/chouette-core/maintainability) <a href="https://codeclimate.com/github/af83/chouette-core/test_coverage"><img src="https://api.codeclimate.com/v1/badges/f9680a36dcfd25d4f2cf/test_coverage" /></a> +[](https://codeclimate.com/github/af83/chouette-core/maintainability) Chouette is a Ruby/Rails & Java project to manage transport offer data. It is designed as an [SaaS](http://en.wikipedia.org/wiki/Software_as_a_service) platform and can : @@ -23,6 +23,11 @@ Requirements * [Import, Export and Validation Operations](https://github.com/af83/chouette-core-iev) are in the Java part of the project +Install +---------------- + +Install steps are available [here](../INSTALL.md) + More Information ---------------- |
