logn-mongoid-enum 1.1.3 → 1.3.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41b8e0e962ed51440e5decb371ca565ca36cad93
4
- data.tar.gz: d2653e3b16f71a4baa47897c62c7758d308953a3
3
+ metadata.gz: e2495507d44d3ee625c95aad9d970c73a3cdcff7
4
+ data.tar.gz: ba851ab88b1624f8b300689a1e123ee0527eb84a
5
5
  SHA512:
6
- metadata.gz: 0e7e21dfe38b3175229a12769d2350a32700b6e39286f32444aadf3aacf848976fee13019efb0080002d519615cc6e9e9c836c5fcf5517e6b995906e971d0cf1
7
- data.tar.gz: 32f3a25193cbd895cacaeac954e700286a85cd475b3dce10ee9c2b5593ef3081a26eec708f6f73af48c68c45d23c2e701ce07123baab5a7ec3e51c83c23a2a6c
6
+ metadata.gz: 1c5173be3cfab6a5b2b523d11a7941680d2693f737580a4a56137843010068ba301a848e17f609997ffcf2d44b41b95a43367c2fecc4c5a60060c049a7d061ca
7
+ data.tar.gz: 1327ccb4e69c332714b5af7f6029d2a992248705c3a9725b2aa293bdfaf0255f791564233880ad64c833a18919bcf43485d6015b95dfe2ad2ae07f5d12ea86ef
data/.gitignore CHANGED
@@ -1,17 +1,10 @@
1
- *.gem
2
- *.rbc
3
- .bundle
4
- .config
5
- .yardoc
6
- Gemfile.lock
7
- InstalledFiles
8
- _yardoc
9
- coverage
10
- doc/
11
- lib/bundler/man
12
- pkg
13
- rdoc
14
- spec/reports
15
- test/tmp
16
- test/version_tmp
17
- tmp
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ .DS_Store
@@ -0,0 +1,74 @@
1
+ # Contributor Covenant Code of Conduct
2
+
3
+ ## Our Pledge
4
+
5
+ In the interest of fostering an open and welcoming environment, we as
6
+ contributors and maintainers pledge to making participation in our project and
7
+ our community a harassment-free experience for everyone, regardless of age, body
8
+ size, disability, ethnicity, gender identity and expression, level of experience,
9
+ nationality, personal appearance, race, religion, or sexual identity and
10
+ orientation.
11
+
12
+ ## Our Standards
13
+
14
+ Examples of behavior that contributes to creating a positive environment
15
+ include:
16
+
17
+ * Using welcoming and inclusive language
18
+ * Being respectful of differing viewpoints and experiences
19
+ * Gracefully accepting constructive criticism
20
+ * Focusing on what is best for the community
21
+ * Showing empathy towards other community members
22
+
23
+ Examples of unacceptable behavior by participants include:
24
+
25
+ * The use of sexualized language or imagery and unwelcome sexual attention or
26
+ advances
27
+ * Trolling, insulting/derogatory comments, and personal or political attacks
28
+ * Public or private harassment
29
+ * Publishing others' private information, such as a physical or electronic
30
+ address, without explicit permission
31
+ * Other conduct which could reasonably be considered inappropriate in a
32
+ professional setting
33
+
34
+ ## Our Responsibilities
35
+
36
+ Project maintainers are responsible for clarifying the standards of acceptable
37
+ behavior and are expected to take appropriate and fair corrective action in
38
+ response to any instances of unacceptable behavior.
39
+
40
+ Project maintainers have the right and responsibility to remove, edit, or
41
+ reject comments, commits, code, wiki edits, issues, and other contributions
42
+ that are not aligned to this Code of Conduct, or to ban temporarily or
43
+ permanently any contributor for other behaviors that they deem inappropriate,
44
+ threatening, offensive, or harmful.
45
+
46
+ ## Scope
47
+
48
+ This Code of Conduct applies both within project spaces and in public spaces
49
+ when an individual is representing the project or its community. Examples of
50
+ representing a project or community include using an official project e-mail
51
+ address, posting via an official social media account, or acting as an appointed
52
+ representative at an online or offline event. Representation of a project may be
53
+ further defined and clarified by project maintainers.
54
+
55
+ ## Enforcement
56
+
57
+ Instances of abusive, harassing, or otherwise unacceptable behavior may be
58
+ reported by contacting the project team at kenneth@lognllc.com. All
59
+ complaints will be reviewed and investigated and will result in a response that
60
+ is deemed necessary and appropriate to the circumstances. The project team is
61
+ obligated to maintain confidentiality with regard to the reporter of an incident.
62
+ Further details of specific enforcement policies may be posted separately.
63
+
64
+ Project maintainers who do not follow or enforce the Code of Conduct in good
65
+ faith may face temporary or permanent repercussions as determined by other
66
+ members of the project's leadership.
67
+
68
+ ## Attribution
69
+
70
+ This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71
+ available at [http://contributor-covenant.org/version/1/4][version]
72
+
73
+ [homepage]: http://contributor-covenant.org
74
+ [version]: http://contributor-covenant.org/version/1/4/
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- # Specify your gem's dependencies in mongoid-enum.gemspec
3
+ # Specify your gem's dependencies in logn-mongoid-enum.gemspec
4
4
  gemspec
data/LICENSE.txt CHANGED
@@ -1,22 +1,21 @@
1
- Copyright (c) 2013 Nicholas Bruning
1
+ The MIT License (MIT)
2
2
 
3
- MIT License
3
+ Copyright (c) 2018 kennethrosales
4
4
 
5
- Permission is hereby granted, free of charge, to any person obtaining
6
- a copy of this software and associated documentation files (the
7
- "Software"), to deal in the Software without restriction, including
8
- without limitation the rights to use, copy, modify, merge, publish,
9
- distribute, sublicense, and/or sell copies of the Software, and to
10
- permit persons to whom the Software is furnished to do so, subject to
11
- the following conditions:
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
12
11
 
13
- The above copyright notice and this permission notice shall be
14
- included in all copies or substantial portions of the Software.
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
15
14
 
16
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
- NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
- LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
- OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md CHANGED
@@ -1,168 +1,41 @@
1
- # Mongoid::Enum
1
+ # Logn::Mongoid::Enum
2
2
 
3
- [![Build
4
- Status](https://travis-ci.org/thetron/mongoid-enum.png)](https://travis-ci.org/thetron/mongoid-enum)
5
- [![Code Climate](https://codeclimate.com/github/thetron/mongoid-enum.png)](https://codeclimate.com/github/thetron/mongoid-enum)
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/logn/mongoid/enum`. To experiment with that code, run `bin/console` for an interactive prompt.
6
4
 
7
- Heavily inspired by [DHH's
8
- ActiveRecord::Enum](https://github.com/rails/rails/commit/db41eb8a6ea88b854bf5cd11070ea4245e1639c5), this little library is
9
- there to help you cut down the cruft in your models and make the
10
- world a happier place at the same time.
5
+ TODO: Delete this and the text above, and describe your gem
11
6
 
12
- A single line will get you fields, accessors, validations and scopes,
13
- and a few other bits-and-bobs.
7
+ ## Installation
14
8
 
15
-
16
- # Installation
17
-
18
- Add this to your Gemfile:
19
-
20
- ```ruby
21
- gem "mongoid-enum"
22
- ```
23
-
24
- And then run `bundle install`.
25
-
26
-
27
- # Usage
28
-
29
- ```ruby
30
- class Payment
31
- include Mongoid::Document
32
- include Mongoid::Enum
33
-
34
- enum :status, [:pending, :approved, :declined]
35
- end
36
- ```
37
-
38
- Aaaaaaand then you get things like:
39
-
40
- ```ruby
41
- payment = Payment.create
42
-
43
- payment.status
44
- # => :pending
45
-
46
- payment.approved!
47
- # => :approved
48
-
49
- payment.pending?
50
- # => :false
51
-
52
- Payment.approved
53
- # => Mongoid::Criteria for payments with status == :approved
54
-
55
- ```
56
-
57
- # Features
58
-
59
- ## Field
60
-
61
- Your enum value is stored as either a Symbol, or an Array (when storing
62
- multiple values). The actual field name has a leading underscore (e.g.:
63
- `_status`), but is also aliased with its actual name for you
64
- convenience.
65
-
66
-
67
- ## Accessors
68
-
69
- Your enums will get getters-and-setters with the same name. So using the
70
- `Payment` example above:
9
+ Add this line to your application's Gemfile:
71
10
 
72
11
  ```ruby
73
- payment.status = :declined
74
- payment.status
75
- # => :declined
12
+ gem 'logn-mongoid-enum'
76
13
  ```
77
14
 
78
- And you also get bang(!) and query(?) methods for each of the values in
79
- your enum (see [this example](#usage).
15
+ And then execute:
80
16
 
17
+ $ bundle
81
18
 
82
- ## Constants
19
+ Or install it yourself as:
83
20
 
84
- For each enum, you'll also get a constant named after it. This is to
85
- help you elsewhere in your app, should you need to display, or leverage
86
- the list of values. Using the above example:
21
+ $ gem install logn-mongoid-enum
87
22
 
88
- ```ruby
89
- Payment::STATUS
90
- # => [:pending, :approved, :declined]
91
- ```
92
-
93
-
94
- ## Validations
95
-
96
- Enum values are automatically validated against the list. You can
97
- disable this behaviour (see [below](#options)).
98
-
99
-
100
- ## Scopes
23
+ ## Usage
101
24
 
102
- A scope added for each of your enum's values. Using the example above,
103
- you'd automatically get:
25
+ TODO: Write usage instructions here
104
26
 
105
- ```ruby
106
- Payment.pending # => Mongoid::Criteria
107
- Payment.approved # => Mongoid::Criteria
108
- Payment.declined # => Mongoid::Criteria
109
- ```
27
+ ## Development
110
28
 
29
+ After checking out the repo, run `bin/setup` to install dependencies. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
111
30
 
112
- # Options
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
113
32
 
114
- ## Default value
33
+ ## Contributing
115
34
 
116
- If not specified, the default will be the first in your list of values
117
- (`:pending` in the example above). You can override this with the
118
- `:default` option:
35
+ Bug reports and pull requests are welcome on GitHub at https://github.com/kennethrosales/logn-mongoid-enum. 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.
119
36
 
120
- ```ruby
121
- enum :roles, [:manager, :administrator], :default => ""
122
- ```
123
37
 
124
- ## Multiple values
125
-
126
- Sometimes you'll need to store multiple values from your list, this
127
- couldn't be easier:
128
-
129
- ```ruby
130
- enum :roles, [:basic, :manager, :administrator], :multiple => true
131
-
132
- # ...
133
-
134
- user = User.create
135
- user.roles << :basic
136
- user.roles << :manager
137
- user.save!
138
-
139
- user.manager? # => true
140
- user.administrator? # => false
141
- user.roles # => [:basic, :manager]
142
- ```
143
-
144
- Since the underlying datatype for storing values is an array, if you
145
- need to specify default(s), ensure you use an array:
146
-
147
- ```ruby
148
- enum :roles, [:noob, :author, :editor], :multiple => true, :default => [:author, :editor] # two defaults
149
- enum :roles, [:noob, :author, :editor], :multiple => true, :default => [] # no default
150
- ```
151
-
152
- ## Validations
153
-
154
- Validations are baked in by default, and ensure that the value(s) set in
155
- your field are always from your list of options. If you need more
156
- complex validations, or you just want to throw caution to the wind, you
157
- can turn them off:
158
-
159
- ```ruby
160
- enum :status, [:up, :down], :validate => false
161
- ```
38
+ ## License
162
39
 
163
- # Issues and Feature Requests
40
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
164
41
 
165
- If you have any problems, or you have a suggestion, please [submit an
166
- issue](https://github.com/thetron/mongoid-enum/issues) (and a failing
167
- test, if you can). Pull requests and feature requests are alwasy welcome
168
- and greatly appreciated.
data/Rakefile CHANGED
@@ -1 +1,2 @@
1
1
  require "bundler/gem_tasks"
2
+ task :default => :spec
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "logn/mongoid/enum"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec path: "../"
4
+ gem "mongoid", ">= 5.2"
@@ -4,7 +4,7 @@ module Mongoid
4
4
  attr_accessor :field_name_prefix
5
5
 
6
6
  def initialize
7
- self.field_name_prefix = "_"
7
+ self.field_name_prefix = '_'
8
8
  end
9
9
  end
10
10
 
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Enum
3
- VERSION = "1.1.3"
3
+ VERSION = '1.3.4'.freeze
4
4
  end
5
5
  end
@@ -1,5 +1,4 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ lib = File.expand_path('lib', __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require 'mongoid/enum/version'
5
4
 
@@ -9,11 +8,14 @@ Gem::Specification.new do |spec|
9
8
  spec.authors = ['kennethrosales']
10
9
  spec.email = ['kenneth@lognllc.com']
11
10
 
12
- spec.summary = %q{Heavily inspired by DDH's ActiveRecord::Enum, this little library is there to help you cut down the cruft in your models and make the world a happier place at the same time.}
13
- spec.description = %q{Sweet enum sugar for your Mongoid documents}
14
- spec.homepage = "https://github.com/kennethrosales/logn-mongoid-enum"
11
+ spec.summary = "Heavily inspired by DDH's ActiveRecord::Enum, this little library is there to help you cut down the cruft in your models and make the world a happier place at the same time."
12
+ spec.description = 'Sweet enum sugar for your Mongoid documents'
13
+ spec.homepage = 'https://github.com/kennethrosales/logn-mongoid-enum'
15
14
  spec.license = 'MIT'
16
15
 
16
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
17
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
18
+
17
19
  spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
20
  f.match(%r{^(test|spec|features)/})
19
21
  end
@@ -21,11 +23,11 @@ Gem::Specification.new do |spec|
21
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
24
  spec.require_paths = ['lib']
23
25
 
24
- spec.add_runtime_dependency "mongoid", ">= 5.0"
26
+ spec.add_runtime_dependency 'mongoid', '>= 5.0'
25
27
 
26
- spec.add_development_dependency "bundler", "~> 1.3"
27
- spec.add_development_dependency "rake"
28
- spec.add_development_dependency "rspec", "~> 3.1"
29
- spec.add_development_dependency "guard-rspec", "~> 4.6.2"
30
- spec.add_development_dependency "mongoid-rspec", "~> 3.0"
28
+ spec.add_development_dependency 'bundler', '~> 1.3'
29
+ spec.add_development_dependency 'guard-rspec', '~> 4.6.2'
30
+ spec.add_development_dependency 'mongoid-rspec', '~> 3.0'
31
+ spec.add_development_dependency 'rake'
32
+ spec.add_development_dependency 'rspec', '~> 3.1'
31
33
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: logn-mongoid-enum
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.3.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - kennethrosales
@@ -39,61 +39,61 @@ dependencies:
39
39
  - !ruby/object:Gem::Version
40
40
  version: '1.3'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rake
42
+ name: guard-rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ">="
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0'
47
+ version: 4.6.2
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - ">="
52
+ - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0'
54
+ version: 4.6.2
55
55
  - !ruby/object:Gem::Dependency
56
- name: rspec
56
+ name: mongoid-rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.1'
61
+ version: '3.0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '3.1'
68
+ version: '3.0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: guard-rspec
70
+ name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 4.6.2
75
+ version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 4.6.2
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: mongoid-rspec
84
+ name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '3.0'
89
+ version: '3.1'
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '3.0'
96
+ version: '3.1'
97
97
  description: Sweet enum sugar for your Mongoid documents
98
98
  email:
99
99
  - kenneth@lognllc.com
@@ -101,16 +101,15 @@ executables: []
101
101
  extensions: []
102
102
  extra_rdoc_files: []
103
103
  files:
104
- - ".DS_Store"
105
- - ".autotest"
106
104
  - ".gitignore"
107
- - ".rspec"
108
- - ".travis.yml"
105
+ - CODE_OF_CONDUCT.md
109
106
  - Gemfile
110
- - Guardfile
111
107
  - LICENSE.txt
112
108
  - README.md
113
109
  - Rakefile
110
+ - bin/console
111
+ - bin/setup
112
+ - gemfiles/mongoid-5.gemfile
114
113
  - lib/mongoid/enum.rb
115
114
  - lib/mongoid/enum/configuration.rb
116
115
  - lib/mongoid/enum/validators/multiple_validator.rb
data/.DS_Store DELETED
Binary file
data/.autotest DELETED
File without changes
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color
data/.travis.yml DELETED
@@ -1,14 +0,0 @@
1
- script: "bundle exec rspec spec"
2
-
3
- language: ruby
4
-
5
- rvm:
6
- - 1.9.3
7
- - 2.0.0
8
- - 2.1.0
9
- - 2.1.1
10
- - 2.1.2
11
- - jruby-19mode
12
-
13
- services:
14
- - mongodb
data/Guardfile DELETED
@@ -1,8 +0,0 @@
1
- # A sample Guardfile
2
- # More info at https://github.com/guard/guard#readme
3
-
4
- guard :rspec, cmd: "bundle exec rspec" do
5
- watch(%r{^spec/.+_spec\.rb$})
6
- watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
7
- watch('spec/spec_helper.rb') { "spec" }
8
- end