metasploit-yard 1.0.2-java
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.coveralls.yml +1 -0
- data/.gitignore +24 -0
- data/.rspec +2 -0
- data/.simplecov +42 -0
- data/.travis.yml +21 -0
- data/.yardopts +7 -0
- data/CONTRIBUTING.md +178 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +29 -0
- data/README.md +114 -0
- data/Rakefile +19 -0
- data/config/cucumber.yml +6 -0
- data/features/rake_task.feature +90 -0
- data/features/step_definitions/project.rb +25 -0
- data/features/step_definitions/rvm.rb +46 -0
- data/features/support/env.rb +8 -0
- data/lib/metasploit/yard.rb +20 -0
- data/lib/metasploit/yard/aruba.rb +12 -0
- data/lib/metasploit/yard/aruba/rvm_env.rb +105 -0
- data/lib/metasploit/yard/aruba/rvm_env/export.rb +75 -0
- data/lib/metasploit/yard/aruba/rvm_env/prepend.rb +35 -0
- data/lib/metasploit/yard/aruba/rvm_env/unset.rb +44 -0
- data/lib/metasploit/yard/aruba/rvm_env/variable.rb +32 -0
- data/lib/metasploit/yard/railtie.rb +10 -0
- data/lib/metasploit/yard/version.rb +43 -0
- data/lib/tasks/yard.rake +58 -0
- data/metasploit-yard.gemspec +50 -0
- data/spec/metasploit/yard/aruba/rvm_env/export_spec.rb +95 -0
- data/spec/metasploit/yard/aruba/rvm_env/prepend_spec.rb +95 -0
- data/spec/metasploit/yard/version_spec.rb +143 -0
- data/spec/metasploit/yard_spec.rb +15 -0
- data/spec/spec_helper.rb +77 -0
- metadata +240 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: e8ead908270612fce275fe39a9fc8d48367ad12a
|
4
|
+
data.tar.gz: bd5abd6f072446ffd62001434da7bb8d294e733f
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: d7c7ea17a98d93487312362da2c32fe7f60475c848488b7ec7a83c002a4755d5d8936e8dfaf8d3ca68d84757e6fbcfa9f758d2bf6d51c74ae0c6b9561d0814a3
|
7
|
+
data.tar.gz: 1a790f9eb46a0c681aa2d68d9ae57481e396f8d8ef5541c3eb0eb805592ce80e17eb9b51557902df2a21d2ae5411f7abe5f5c99c67727eaa33475cf4e97c5223
|
data/.coveralls.yml
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
service_name: travis-ci
|
data/.gitignore
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# Rubymine
|
2
|
+
/.idea
|
3
|
+
|
4
|
+
*.gem
|
5
|
+
*.rbc
|
6
|
+
.bundle
|
7
|
+
.config
|
8
|
+
.yardoc
|
9
|
+
Gemfile.lock
|
10
|
+
InstalledFiles
|
11
|
+
_yardoc
|
12
|
+
coverage
|
13
|
+
doc/
|
14
|
+
lib/bundler/man
|
15
|
+
pkg
|
16
|
+
rdoc
|
17
|
+
spec/reports
|
18
|
+
test/tmp
|
19
|
+
test/version_tmp
|
20
|
+
tmp
|
21
|
+
|
22
|
+
# RVM
|
23
|
+
.ruby-version
|
24
|
+
.ruby-gemset
|
data/.rspec
ADDED
data/.simplecov
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
# RM_INFO is set when using Rubymine. In Rubymine, starting SimpleCov is
|
2
|
+
# controlled by running with coverage, so don't explicitly start coverage (and
|
3
|
+
# therefore generate a report) when in Rubymine. This _will_ generate a report
|
4
|
+
# whenever `rake spec` is run.
|
5
|
+
unless ENV['RM_INFO']
|
6
|
+
SimpleCov.start
|
7
|
+
end
|
8
|
+
|
9
|
+
SimpleCov.configure do
|
10
|
+
# ignore this file
|
11
|
+
add_filter '.simplecov'
|
12
|
+
|
13
|
+
# Rake tasks aren't tested with rspec
|
14
|
+
add_filter 'Rakefile'
|
15
|
+
add_filter 'lib/tasks'
|
16
|
+
|
17
|
+
#
|
18
|
+
# Changed Files in Git Group
|
19
|
+
# @see http://fredwu.me/post/35625566267/simplecov-test-coverage-for-changed-files-only
|
20
|
+
#
|
21
|
+
|
22
|
+
untracked = `git ls-files --exclude-standard --others`
|
23
|
+
unstaged = `git diff --name-only`
|
24
|
+
staged = `git diff --name-only --cached`
|
25
|
+
all = untracked + unstaged + staged
|
26
|
+
changed_filenames = all.split("\n")
|
27
|
+
|
28
|
+
add_group 'Changed' do |source_file|
|
29
|
+
changed_filenames.detect { |changed_filename|
|
30
|
+
source_file.filename.end_with?(changed_filename)
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
34
|
+
add_group 'Libraries', 'lib'
|
35
|
+
|
36
|
+
#
|
37
|
+
# Specs are reported on to ensure that all examples are being run and all
|
38
|
+
# lets, befores, afters, etc are being used.
|
39
|
+
#
|
40
|
+
|
41
|
+
add_group 'Specs', 'spec'
|
42
|
+
end
|
data/.travis.yml
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
env:
|
2
|
+
global:
|
3
|
+
- secure: "IxVtzpee/XU/Qkw9g88uXX9GtQkzeUNVx05LYpfBuZWjQZWggrTp4k91HyquBNZkg30I5l7iHLbuhMB2c2SyNPN1OfkkhWZjeerJzRtaGDn7RXTAfdKUCtDceZPnl9Kv4Wbk6I2pVsXpROOP0VaPjLgod7aJqHfnw4AvP8yZbDg="
|
4
|
+
matrix:
|
5
|
+
- RAKE_TASK=cucumber
|
6
|
+
- RAKE_TASK=spec
|
7
|
+
language: ruby
|
8
|
+
matrix:
|
9
|
+
# documentation coverage is not influenced by ruby implementation, so only run once
|
10
|
+
include:
|
11
|
+
- rvm: 2.1
|
12
|
+
env: RAKE_TASK=yard
|
13
|
+
rvm:
|
14
|
+
- '1.9.3'
|
15
|
+
- '2.0'
|
16
|
+
- '2.1'
|
17
|
+
- 'ruby-head'
|
18
|
+
# jruby fails rake cucumber (see MSP-11240)
|
19
|
+
# - 'jruby-19mode'
|
20
|
+
- 'rbx-2.2'
|
21
|
+
script: "bundle exec rake $RAKE_TASK"
|
data/.yardopts
ADDED
data/CONTRIBUTING.md
ADDED
@@ -0,0 +1,178 @@
|
|
1
|
+
# Contributing
|
2
|
+
|
3
|
+
## Forking
|
4
|
+
|
5
|
+
[Fork this repository](https://github.com/rapid7/metasploit-yard/fork)
|
6
|
+
|
7
|
+
## Branching
|
8
|
+
|
9
|
+
Branch names follow the format `TYPE/ISSUE/SUMMARY`. You can create it with `git checkout -b TYPE/ISSUE/SUMMARY`.
|
10
|
+
|
11
|
+
### `TYPE`
|
12
|
+
|
13
|
+
`TYPE` can be `bug`, `chore`, or `feature`.
|
14
|
+
|
15
|
+
### `ISSUE`
|
16
|
+
|
17
|
+
`ISSUE` is either a [Github issue](https://github.com/rapid7/metasploit-yard/issues) or an issue from some other
|
18
|
+
issue tracking software.
|
19
|
+
|
20
|
+
### `SUMMARY`
|
21
|
+
|
22
|
+
`SUMMARY` is is short summary of the purpose of the branch composed of lower case words separated by '-' so that it is a valid `PRERELEASE` for the Gem version.
|
23
|
+
|
24
|
+
## Changes
|
25
|
+
|
26
|
+
### `PRERELEASE`
|
27
|
+
|
28
|
+
1. Update `PRERELEASE` to match the `SUMMARY` in the branch name. If you branched from `master`, and [version.rb](lib/metasploit/yard/version.rb) does not have `PRERELEASE` defined, then adding the following lines after `PATCH`:
|
29
|
+
```
|
30
|
+
# The prerelease version, scoped to the {PATCH} version number.
|
31
|
+
PRERELEASE = '<SUMMARY>'
|
32
|
+
```
|
33
|
+
2. `rake spec`
|
34
|
+
3. Verify the specs pass, which indicates that `PRERELEASE` was updated correctly.
|
35
|
+
4. Commit the change `git commit -a`
|
36
|
+
|
37
|
+
### Your changes
|
38
|
+
|
39
|
+
Make your changes or however many commits you like, commiting each with `git commit`.
|
40
|
+
|
41
|
+
### Pre-Pull Request Testing
|
42
|
+
|
43
|
+
1. Run specs one last time before opening the Pull Request: `rake spec`
|
44
|
+
2. Verify there was no failures.
|
45
|
+
|
46
|
+
### Push
|
47
|
+
|
48
|
+
Push your branch to your fork on gitub: `git push push TYPE/ISSUE/SUMMARY`
|
49
|
+
|
50
|
+
### Pull Request
|
51
|
+
|
52
|
+
* [Create new Pull Request](https://github.com/rapid7/metasploit-yard/compare/)
|
53
|
+
* Add a Verification Steps comment
|
54
|
+
|
55
|
+
```
|
56
|
+
# Verification Steps
|
57
|
+
|
58
|
+
- [ ] `bundle install`
|
59
|
+
|
60
|
+
## `rake cucumber`
|
61
|
+
- [ ] `rake cucumber`
|
62
|
+
- [ ] VERIFY no failures
|
63
|
+
|
64
|
+
## `rake spec`
|
65
|
+
- [ ] `rake spec`
|
66
|
+
- [ ] VERIFY no failures
|
67
|
+
```
|
68
|
+
You should also include at least one scenario to manually check the changes outside of specs.
|
69
|
+
|
70
|
+
* Add a Post-merge Steps comment
|
71
|
+
|
72
|
+
The 'Post-merge Steps' are a reminder to the reviewer of the Pull Request of how to update the [`PRERELEASE`](lib/metasploit/yard/version.rb) so that [version_spec.rb](spec/lib/metasploit/yard/version_spec.rb) passes on the target branch after the merge.
|
73
|
+
|
74
|
+
DESTINATION is the name of the destination branch into which the merge is being made. SOURCE_SUMMARY is the SUMMARY from TYPE/ISSUE/SUMMARY branch name for the SOURCE branch that is being made.
|
75
|
+
|
76
|
+
When merging to `master`:
|
77
|
+
|
78
|
+
```
|
79
|
+
# Post-merge Steps
|
80
|
+
|
81
|
+
Perform these steps prior to pushing to master or the build will be broke on master.
|
82
|
+
|
83
|
+
## Version
|
84
|
+
- [ ] Edit `lib/metasploit/yard/version.rb`
|
85
|
+
- [ ] Remove `PRERELEASE` and its comment as `PRERELEASE` is not defined on master.
|
86
|
+
|
87
|
+
## Gem build
|
88
|
+
- [ ] gem build *.gemspec
|
89
|
+
- [ ] VERIFY the gem has no '.pre' version suffix.
|
90
|
+
|
91
|
+
## RSpec
|
92
|
+
- [ ] `rake spec`
|
93
|
+
- [ ] VERIFY version examples pass without failures
|
94
|
+
|
95
|
+
## Commit & Push
|
96
|
+
- [ ] `git commit -a`
|
97
|
+
- [ ] `git push origin master`
|
98
|
+
```
|
99
|
+
|
100
|
+
When merging to DESTINATION other than `master`:
|
101
|
+
|
102
|
+
```
|
103
|
+
# Post-merge Steps
|
104
|
+
|
105
|
+
Perform these steps prior to pushing to DESTINATION or the build will be broke on DESTINATION.
|
106
|
+
|
107
|
+
## Version
|
108
|
+
- [ ] Edit `lib/metasploit/yard/version.rb`
|
109
|
+
- [ ] Change `PRERELEASE` from `SOURCE_SUMMARY` to `DESTINATION_SUMMARY` to match the branch (DESTINATION) summary (DESTINATION_SUMMARY)
|
110
|
+
|
111
|
+
## Gem build
|
112
|
+
- [ ] gem build *.gemspec
|
113
|
+
- [ ] VERIFY the prerelease suffix has change on the gem.
|
114
|
+
|
115
|
+
## RSpec
|
116
|
+
- [ ] `rake spec`
|
117
|
+
- [ ] VERIFY version examples pass without failures
|
118
|
+
|
119
|
+
## Commit & Push
|
120
|
+
- [ ] `git commit -a`
|
121
|
+
- [ ] `git push origin DESTINATION`
|
122
|
+
```
|
123
|
+
|
124
|
+
* Add a 'Release Steps' comment
|
125
|
+
|
126
|
+
The 'Release Steps' are a reminder to the reviewer of the Pull Request of how to release the gem.
|
127
|
+
|
128
|
+
```
|
129
|
+
# Release
|
130
|
+
|
131
|
+
Complete these steps on DESTINATION
|
132
|
+
|
133
|
+
## `VERSION`
|
134
|
+
|
135
|
+
### Incompatible API changes
|
136
|
+
|
137
|
+
If your changes are incompatible with the previous branch's API, such as removing APIs or removing parts of API
|
138
|
+
signatures:
|
139
|
+
|
140
|
+
- [ ] Increment [`MAJOR`](lib/metasploit/yard/version.rb)
|
141
|
+
- [ ] Reset [`MINOR`](lib/metasploit/yard/version.rb) to `0`
|
142
|
+
- [ ] Reset [`PATCH`](lib/metasploit/yard/version.rb) to `0`
|
143
|
+
- [ ] Commit
|
144
|
+
|
145
|
+
### Compatible API changes
|
146
|
+
|
147
|
+
If your changes are compatible with the previous branch's API, such as adding an API or adding options or optional
|
148
|
+
positional arguments to an API:
|
149
|
+
|
150
|
+
- [ ] Increment [`MINOR`](lib/metasploit/yard/version.rb)
|
151
|
+
- [ ] Reset [`PATCH`](lib/metasploit/yard/version.rb) to `0`.
|
152
|
+
- [ ] Commit
|
153
|
+
|
154
|
+
### Compatible bug fixes
|
155
|
+
|
156
|
+
If your changes are a bug fix that don't impact the APIs, then:
|
157
|
+
|
158
|
+
- [ ] Increment [`PATCH`](lib/metasploit/yard/version.rb)
|
159
|
+
- [ ] Commit
|
160
|
+
|
161
|
+
## JRuby
|
162
|
+
- [ ] `rvm use jruby@metasploit-yard`
|
163
|
+
- [ ] `rm Gemfile.lock`
|
164
|
+
- [ ] `bundle install`
|
165
|
+
- [ ] `rake release`
|
166
|
+
|
167
|
+
## MRI Ruby
|
168
|
+
- [ ] `rvm use ruby-2.1@metasploit-yard`
|
169
|
+
- [ ] `rm Gemfile.lock`
|
170
|
+
- [ ] `bundle install`
|
171
|
+
- [ ] `rake release`
|
172
|
+
```
|
173
|
+
|
174
|
+
### Downstream dependencies
|
175
|
+
|
176
|
+
When releasing new versions, the following projects may need to be updated:
|
177
|
+
|
178
|
+
(no current downstream dependents)
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,29 @@
|
|
1
|
+
BSD-3-clause License
|
2
|
+
|
3
|
+
Copyright (c) 2013-2014, Rapid7, Inc.
|
4
|
+
All rights reserved.
|
5
|
+
|
6
|
+
Redistribution and use in source and binary forms, with or without modification,
|
7
|
+
are permitted provided that the following conditions are met:
|
8
|
+
.
|
9
|
+
* Redistributions of source code must retain the above copyright notice,
|
10
|
+
this list of conditions and the following disclaimer.
|
11
|
+
.
|
12
|
+
* Redistributions in binary form must reproduce the above copyright notice,
|
13
|
+
this list of conditions and the following disclaimer in the documentation
|
14
|
+
and/or other materials provided with the distribution.
|
15
|
+
.
|
16
|
+
* Neither the name of Rapid7, Inc. nor the names of its contributors
|
17
|
+
may be used to endorse or promote products derived from this software
|
18
|
+
without specific prior written permission.
|
19
|
+
.
|
20
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
21
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
22
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
23
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
24
|
+
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
25
|
+
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
26
|
+
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
27
|
+
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
28
|
+
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
29
|
+
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
data/README.md
ADDED
@@ -0,0 +1,114 @@
|
|
1
|
+
# Metasploit::Yard [![Build Status](https://travis-ci.org/rapid7/metasploit-yard.svg?branch=master)](https://travis-ci.org/rapid7/metasploit-yard)[![Code Climate](https://codeclimate.com/github/rapid7/metasploit-yard.png)](https://codeclimate.com/github/rapid7/metasploit-yard)[![Test Coverage](https://codeclimate.com/github/rapid7/metasploit-yard/badges/coverage.svg)](https://codeclimate.com/github/rapid7/metasploit-yard)[![Coverage Status](https://img.shields.io/coveralls/rapid7/metasploit-yard.svg)](https://coveralls.io/r/rapid7/metasploit-yard)[![Dependency Status](https://gemnasium.com/rapid7/metasploit-yard.svg)](https://gemnasium.com/rapid7/metasploit-yard)[![Gem Version](https://badge.fury.io/rb/metasploit-yard.svg)](http://badge.fury.io/rb/metasploit-yard)[![Inline docs](http://inch-ci.org/github/rapid7/metasploit-yard.svg?branch=master)](http://inch-ci.org/github/rapid7/metasploit-yard)[![PullReview stats](https://www.pullreview.com/github/rapid7/metasploit-yard/badges/master.svg)](https://www.pullreview.com/github/rapid7/metasploit-yard/reviews/master)
|
2
|
+
|
3
|
+
`metasploit-yard` holds the YARD rake task, in [`lib/tasks/yard.rake`](lib/tasks.yard.rake) used across all
|
4
|
+
`metasploit-*` projects. The rake task is defined here to prevent code duplication and task redefinitions in a gem's
|
5
|
+
dependencies leading to duplicate task actions, which led to yard docs being generated up to 6 times in some projects.
|
6
|
+
|
7
|
+
## Versioning
|
8
|
+
|
9
|
+
`Metasploit::Yard` is versioned using [semantic versioning 2.0](http://semver.org/spec/v2.0.0.html). Each branch
|
10
|
+
should set `Metasploit::Yard::Version::PRERELEASE` to the branch name, while master should have no `PRERELEASE`
|
11
|
+
and the `PRERELEASE` section of `Metasploit::Yard::VERSION` does not exist.
|
12
|
+
|
13
|
+
## Documentation
|
14
|
+
|
15
|
+
`Metasploit::Yard` is documented using YARD. In fact, it uses the same rake task as it exports for other gems to use.
|
16
|
+
|
17
|
+
### Generate
|
18
|
+
|
19
|
+
rake yard
|
20
|
+
|
21
|
+
### Reading
|
22
|
+
|
23
|
+
open doc/frames.html
|
24
|
+
|
25
|
+
## Installation
|
26
|
+
|
27
|
+
### Project with only a Gemfile
|
28
|
+
|
29
|
+
Add this line to your application's `Gemfile`:
|
30
|
+
|
31
|
+
gem 'metasploit-yard', group: :development
|
32
|
+
|
33
|
+
And then execute:
|
34
|
+
|
35
|
+
$ bundle
|
36
|
+
|
37
|
+
### Project with a gemspec
|
38
|
+
|
39
|
+
Add this line to your gem's gemspec:
|
40
|
+
|
41
|
+
spec.add_development_dependency 'metasploit-yard'
|
42
|
+
|
43
|
+
And then execute:
|
44
|
+
|
45
|
+
$ bundle
|
46
|
+
|
47
|
+
### Otherwise
|
48
|
+
|
49
|
+
Or install it yourself as:
|
50
|
+
|
51
|
+
$ gem install metasploit-yard
|
52
|
+
|
53
|
+
## Setup
|
54
|
+
|
55
|
+
### In a Rails::Application
|
56
|
+
|
57
|
+
`metasploit-yard` has a `Rails::Railtie`, [`Metasploit::Yard::Railtie`](lib/metasploit/yard/railtie) that will
|
58
|
+
automatically be loaded if `Rails` is defined when `metasploit/yard` is required. `Metasploit::Yard::Railtie` will
|
59
|
+
automatically load [`yard.rake`](lib/tasks/yard.rake) for your Rails project.
|
60
|
+
|
61
|
+
### In a Rails::Engine or non-Rails gem
|
62
|
+
|
63
|
+
Add the following to your `Rakefile` to load `yard.rake` from `metasploit-yard`
|
64
|
+
|
65
|
+
# Use find_all_by_name instead of find_by_name as find_all_by_name will return pre-release versions
|
66
|
+
gem_specification = Gem::Specification.find_all_by_name('metasploit-yard').first
|
67
|
+
|
68
|
+
Dir[File.join(gem_specification.gem_dir, 'lib', 'tasks', '**', '*.rake')].each do |rake|
|
69
|
+
load rake
|
70
|
+
end
|
71
|
+
|
72
|
+
## Usage
|
73
|
+
|
74
|
+
$ rake yard
|
75
|
+
|
76
|
+
### CI Integration
|
77
|
+
|
78
|
+
`rake yard` will automatically call `rake yard:stats`. `rake yard:stats` will exit with status `0` only if there are
|
79
|
+
no undocumented objects. If there are undocumented objects, then `rake yard:stats` will exist with status `1`. If
|
80
|
+
you want to lower the threshold of undocumented objects that are allowed from `100.0` percentage, set the value in
|
81
|
+
`config/yard-stats-threshold` as a float.
|
82
|
+
|
83
|
+
By adding `rake yard:stats` to the tasks run by your CI server, you can have your build fail if documentation slips
|
84
|
+
below the threshold.
|
85
|
+
|
86
|
+
## Contributing
|
87
|
+
|
88
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md)
|
89
|
+
|
90
|
+
## Testing
|
91
|
+
|
92
|
+
`Metasploit::Yard` is tested using [RSpec](https://github.com/rspec/rspec)
|
93
|
+
|
94
|
+
### Dependencies
|
95
|
+
|
96
|
+
Remove your `Gemfile.lock` so you test with the latest compatible dependencies as will be done on
|
97
|
+
[travis-ci](https://travis-ci.org/rapid7/metasploit-yard)
|
98
|
+
|
99
|
+
rm Gemfile.lock
|
100
|
+
bundle install
|
101
|
+
|
102
|
+
### Database Setup
|
103
|
+
|
104
|
+
To run the specs, access to the database is required, so setup the `database.yml`, create the database, and run the
|
105
|
+
migrations:
|
106
|
+
|
107
|
+
cp spec/dummy/config/database.yml.example spec/dummy/config/database.yml
|
108
|
+
# fill in passwords
|
109
|
+
edit spec/dummy/config/database.yml
|
110
|
+
rake db:create db:migrate
|
111
|
+
|
112
|
+
### Running
|
113
|
+
|
114
|
+
rake spec
|