Initial commit
This commit is contained in:
commit
d7c07e03ff
17
.gitignore
vendored
Normal file
17
.gitignore
vendored
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
*.gem
|
||||||
|
*.rbc
|
||||||
|
.bundle
|
||||||
|
.config
|
||||||
|
.yardoc
|
||||||
|
Gemfile.lock
|
||||||
|
InstalledFiles
|
||||||
|
_yardoc
|
||||||
|
coverage
|
||||||
|
doc/
|
||||||
|
lib/bundler/man
|
||||||
|
pkg
|
||||||
|
rdoc
|
||||||
|
spec/reports
|
||||||
|
test/tmp
|
||||||
|
test/version_tmp
|
||||||
|
tmp
|
4
Gemfile
Normal file
4
Gemfile
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
source 'https://rubygems.org'
|
||||||
|
|
||||||
|
# Specify your gem's dependencies in mongoid-enum.gemspec
|
||||||
|
gemspec
|
22
LICENSE.txt
Normal file
22
LICENSE.txt
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Copyright (c) 2013 Nicholas Bruning
|
||||||
|
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
29
README.md
Normal file
29
README.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
# Mongoid::Enum
|
||||||
|
|
||||||
|
Heavily inspired by DHH's ActiveRecord::Enum, this little library is
|
||||||
|
really just a good tablespoon of syntactik sugar.
|
||||||
|
|
||||||
|
|
||||||
|
# Usage
|
||||||
|
|
||||||
|
class Payment
|
||||||
|
|
||||||
|
enum :status, [:pending, :approved, :declined],
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
* Stores as `_status`, accessible from `status` and `status=`.
|
||||||
|
* Automatically validates against `:options`
|
||||||
|
* Stored as a string, but always expressed as a symbol. Access is
|
||||||
|
indifferent (or masks said behaviour
|
||||||
|
|
||||||
|
# Options
|
||||||
|
|
||||||
|
:multiple
|
||||||
|
|
||||||
|
Changes storage to `_status_array`, and allows for the storage of
|
||||||
|
multiple options.
|
||||||
|
|
||||||
|
Should also include some finders!
|
||||||
|
|
||||||
|
Payment.declined, etc..
|
7
lib/mongoid/enum.rb
Normal file
7
lib/mongoid/enum.rb
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
require "mongoid/enum/version"
|
||||||
|
|
||||||
|
module Mongoid
|
||||||
|
module Enum
|
||||||
|
# Your code goes here...
|
||||||
|
end
|
||||||
|
end
|
5
lib/mongoid/enum/version.rb
Normal file
5
lib/mongoid/enum/version.rb
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
module Mongoid
|
||||||
|
module Enum
|
||||||
|
VERSION = "0.0.1"
|
||||||
|
end
|
||||||
|
end
|
23
mongoid-enum.gemspec
Normal file
23
mongoid-enum.gemspec
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
# coding: utf-8
|
||||||
|
lib = File.expand_path('../lib', __FILE__)
|
||||||
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
||||||
|
require 'mongoid/enum/version'
|
||||||
|
|
||||||
|
Gem::Specification.new do |spec|
|
||||||
|
spec.name = "mongoid-enum"
|
||||||
|
spec.version = Mongoid::Enum::VERSION
|
||||||
|
spec.authors = ["Nicholas Bruning"]
|
||||||
|
spec.email = ["nicholas@bruning.com.au"]
|
||||||
|
spec.description = %q{TODO: Write a gem description}
|
||||||
|
spec.summary = %q{TODO: Write a gem summary}
|
||||||
|
spec.homepage = ""
|
||||||
|
spec.license = "MIT"
|
||||||
|
|
||||||
|
spec.files = `git ls-files`.split($/)
|
||||||
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
||||||
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
||||||
|
spec.require_paths = ["lib"]
|
||||||
|
|
||||||
|
spec.add_development_dependency "bundler", "~> 1.3"
|
||||||
|
spec.add_development_dependency "rake"
|
||||||
|
end
|
Loading…
x
Reference in New Issue
Block a user