Sha256: 9c3696640c8bae106c86259e2f464561400426f156b756d8654883e2648f7aa6

Contents?: true

Size: 1.46 KB

Versions: 1

Compression:

Stored size: 1.46 KB

Contents

## Hierarchy
`Hierarchy` is an internal model of `Monarchy` and should not be used unless it is really necessary.

> hmm... sounds like `private`

### Methods
** We do not recommend to use it but if yo have to: **
We are using [Closure Tree][e5c808aa] behind `Hierarchy` class. There is a bunch of methods and functions available behind the hood. Check their documentation.

  [e5c808aa]: https://github.com/mceachen/closure_tree "Closure Tree"

### Scopes:

#### .accessible_for
You can select all hierarchies accessible for specific user by using a scope: `accessible_for`, eg:
``` ruby
Monarchy::Hierarchy.accessible_for(current_user)   # returns [hierarchy1, hierarchy2, hierarchy5]
```

#### .in(resource, true)
You can select all hierarchies scoped into another by using scope: `in`:

- If the second argument is `true` (`true` is by default):
``` ruby
Monarchy::Hierarchy.in(project.hierarchy) # returns [hierarchy1, hierarchy2, hierarchy5]
```
It will returns for you all `hierarchies` which parent is `project.hierarchy` or one of his children.

- If the second argument is `false`:
``` ruby
Monarchy::Hierarchy.in(project.hierarchy, false) # returns [hierarchy1, hierarchy2]
```
It will returns for you all `hierarchies` which parent is `project.hierarchy`


## Relations

#### #members
Return all members explicitly granted to the hierarchy.

#### #users
Returns all users which have been granted explicitly to the hierarchy.

#### #resource
Returns a resource model of the hierarchy.

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
monarchy-2.0.0.pre.beta.1 docs/acts_as_hierarchy.md