TwilightCoders/virtual_view

View on GitHub
README.md

Summary

Maintainability
Test Coverage
[![Version      ](https://img.shields.io/gem/v/virtual_view.svg?maxAge=2592000)](https://rubygems.org/gems/virtual_view)
[![Build Status ](https://travis-ci.org/TwilightCoders/virtual_view.svg)](https://travis-ci.org/TwilightCoders/virtual_view)
[![Code Climate ](https://api.codeclimate.com/v1/badges/762cdcd63990efa768b0/maintainability)](https://codeclimate.com/github/TwilightCoders/virtual_view/maintainability)
[![Test Coverage](https://codeclimate.com/github/TwilightCoders/virtual_view/badges/coverage.svg)](https://codeclimate.com/github/TwilightCoders/virtual_view/coverage)
[![Dependencies ](https://gemnasium.com/badges/github.com/TwilightCoders/virtual_view.svg)](https://gemnasium.com/github.com/TwilightCoders/virtual_view)

# VirtualView

VirtualView unlocks the ability to back your models with in-code views, best described in [Arel](https://github.com/rails/arel).

## Requirements

Ruby 2.3+
ActiveRecord 4.2+

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'virtual_view'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install virtual_view

## Usage

Invoking `with_virtual_view` sets the class up to use the `virtual_view` functionality.

```ruby
class User < ActiveRecord::Base
  # the rest of your model code...
end

class Admin < User
  arel_view do
    arel_table.where(arel_table[:role].eq(1))
  end

  # the rest of your model code...
end
```

## Development

After checking out the repo, run `bundle` to install dependencies. Then, run `bundle exec rspec` to run the tests.

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/TwilightCoders/virtual_view. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.

## License

The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).