mongoid_enumerable 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +9 -0
- data/Gemfile.lock +10 -2
- data/README.md +57 -12
- data/lib/mongoid_enumerable/version.rb +1 -1
- data/mongoid_enumerable.gemspec +2 -1
- metadata +17 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: fb530cf42499e51a032c2aa44b278956b0cc9f09a85c51c2327f45e25c00c05f
|
4
|
+
data.tar.gz: cd079294ce92f0455eaf75f87e418aa1637418be8fd0e06914eab79af99f735a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: add16cbb3e8ddc294a3a2ee5de08f8083e6fe21a63dadba3a0f80ba79e1c7d19abe72d47e8d8d006df451c797a89d1e73cb70368116d1f23017589ec2d8c7d93
|
7
|
+
data.tar.gz: 4b6a175e68056e2cc01664ffd660a9fa133d6e10c9bdab3899e250a1a0bcd2d0a94af2657ab2a714ea7976bbb181071106a8a8ba5bc3ffcec84afec1f173ff56
|
data/.travis.yml
CHANGED
@@ -6,3 +6,12 @@ rvm:
|
|
6
6
|
- 2.3.6
|
7
7
|
- 2.2.9
|
8
8
|
before_install: gem install bundler -v 1.16.1
|
9
|
+
env:
|
10
|
+
global:
|
11
|
+
- CC_TEST_REPORTER_ID=049baa35735ad9587a7ff016745e67eb057ef79958cb31113d4a19cc504c0216
|
12
|
+
before_script:
|
13
|
+
- curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
14
|
+
- chmod +x ./cc-test-reporter
|
15
|
+
- ./cc-test-reporter before-build
|
16
|
+
after_script:
|
17
|
+
- ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
|
data/Gemfile.lock
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
mongoid_enumerable (0.1.
|
5
|
-
mongoid
|
4
|
+
mongoid_enumerable (0.1.1)
|
5
|
+
mongoid (>= 4.0)
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
@@ -18,8 +18,10 @@ GEM
|
|
18
18
|
byebug (10.0.2)
|
19
19
|
concurrent-ruby (1.0.5)
|
20
20
|
diff-lcs (1.3)
|
21
|
+
docile (1.3.0)
|
21
22
|
i18n (1.0.1)
|
22
23
|
concurrent-ruby (~> 1.0)
|
24
|
+
json (2.1.0)
|
23
25
|
minitest (5.11.3)
|
24
26
|
mongo (2.5.3)
|
25
27
|
bson (>= 4.3.0, < 5.0.0)
|
@@ -43,6 +45,11 @@ GEM
|
|
43
45
|
rspec (>= 3)
|
44
46
|
terminal-notifier (>= 1.4)
|
45
47
|
rspec-support (3.7.1)
|
48
|
+
simplecov (0.16.1)
|
49
|
+
docile (~> 1.1)
|
50
|
+
json (>= 1.8, < 3)
|
51
|
+
simplecov-html (~> 0.10.0)
|
52
|
+
simplecov-html (0.10.2)
|
46
53
|
terminal-notifier (2.0.0)
|
47
54
|
thread_safe (0.3.6)
|
48
55
|
tzinfo (1.2.5)
|
@@ -59,6 +66,7 @@ DEPENDENCIES
|
|
59
66
|
rake (~> 10.0)
|
60
67
|
rspec (~> 3.0)
|
61
68
|
rspec-nc
|
69
|
+
simplecov
|
62
70
|
|
63
71
|
BUNDLED WITH
|
64
72
|
1.16.1
|
data/README.md
CHANGED
@@ -1,9 +1,37 @@
|
|
1
1
|
# Mongoid Enumerable
|
2
2
|
|
3
3
|
[](https://travis-ci.org/douglaslise/mongoid_enumerable)
|
4
|
+
[](https://codeclimate.com/github/douglaslise/mongoid_enumerable/maintainability)
|
5
|
+
[](https://codeclimate.com/github/douglaslise/mongoid_enumerable/test_coverage)
|
4
6
|
[](https://badge.fury.io/rb/mongoid_enumerable)
|
5
7
|
|
6
|
-
Define
|
8
|
+
Define enumerable fields in your Mongoid documents.
|
9
|
+
|
10
|
+
## Installation
|
11
|
+
|
12
|
+
Add this line to your application's Gemfile:
|
13
|
+
|
14
|
+
```ruby
|
15
|
+
gem 'mongoid_enumerable'
|
16
|
+
```
|
17
|
+
|
18
|
+
And then execute:
|
19
|
+
|
20
|
+
$ bundle
|
21
|
+
|
22
|
+
Or install it yourself as:
|
23
|
+
|
24
|
+
$ gem install mongoid_enumerable
|
25
|
+
|
26
|
+
## Usage
|
27
|
+
Simply include `MongoidEnumerable` in your document.
|
28
|
+
After add `enumerable` with:
|
29
|
+
- Field name
|
30
|
+
- An array with possible values
|
31
|
+
- Options (`default` and/or `prefix`)
|
32
|
+
|
33
|
+
Example:
|
34
|
+
|
7
35
|
```ruby
|
8
36
|
class Task
|
9
37
|
include Mongoid::Document
|
@@ -13,33 +41,50 @@ class Task
|
|
13
41
|
end
|
14
42
|
```
|
15
43
|
|
16
|
-
Now we have methods in this
|
44
|
+
Now we have methods in this document's instance:
|
17
45
|
```ruby
|
18
46
|
task = Task.new
|
19
47
|
|
20
48
|
task.status # "waiting"
|
21
49
|
task.waiting? # true
|
22
50
|
|
23
|
-
task.running!
|
51
|
+
task.running! # changes status field to "running"
|
24
52
|
task.running? # true
|
25
53
|
task.waiting? # false
|
26
54
|
```
|
27
55
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
56
|
+
### Options
|
57
|
+
#### Default
|
58
|
+
Defines which value is the default for new documents. If not specified the first value is used as default.
|
32
59
|
```ruby
|
33
|
-
|
60
|
+
enumerable :status, %w(completed running failed waiting), default: "waiting"
|
34
61
|
```
|
62
|
+
#### Prefix
|
63
|
+
You can define a prefix for your methods that could be useful if you have more than one enumerable with the same values.
|
64
|
+
```ruby
|
65
|
+
enumerable :build_status, %w(completed running failed waiting), default: "waiting", prefix: "build_"
|
66
|
+
enumerable :deploy_status, %w(completed running failed waiting), default: "waiting", prefix: "deploy_"
|
35
67
|
|
36
|
-
|
68
|
+
task.build_completed?
|
69
|
+
task.build_failed!
|
70
|
+
task.deploy_running?
|
71
|
+
task.deploy_failed!
|
72
|
+
```
|
37
73
|
|
38
|
-
$ bundle
|
39
74
|
|
40
|
-
|
75
|
+
### Scopes/Criterias
|
76
|
+
All values are added as scopes/criterias to your document class:
|
77
|
+
```ruby
|
78
|
+
Task.waiting # Returns all tasks with waiting status
|
79
|
+
Task.running # Returns all tasks with running status
|
80
|
+
```
|
81
|
+
|
82
|
+
If prefixed, the scopes/criterias are prefixed too:
|
83
|
+
```ruby
|
84
|
+
Task.build_waiting # Returns all tasks with build waiting status
|
85
|
+
Task.deploy_running # Returns all tasks with deploy running status
|
86
|
+
```
|
41
87
|
|
42
|
-
$ gem install mongoid_enumerable
|
43
88
|
|
44
89
|
## Development
|
45
90
|
|
data/mongoid_enumerable.gemspec
CHANGED
@@ -26,5 +26,6 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_development_dependency "rspec-nc"
|
27
27
|
spec.add_development_dependency "mongoid"
|
28
28
|
spec.add_development_dependency "byebug"
|
29
|
-
spec.add_dependency "mongoid"
|
29
|
+
spec.add_dependency "mongoid", ">= 4.0"
|
30
|
+
spec.add_development_dependency "simplecov"
|
30
31
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongoid_enumerable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Douglas Lise
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -100,9 +100,23 @@ dependencies:
|
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
103
|
+
version: '4.0'
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '4.0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: simplecov
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
108
122
|
- - ">="
|