enumerated_constants 0.2.0 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 41eefc3bab200e4812f343a2000fdd0037b5946d
4
- data.tar.gz: db4506a7ab410cf7c504443b9b67ed3639dcbcf3
3
+ metadata.gz: 5b55c738417510e24ee84acd1c8dfc973628f735
4
+ data.tar.gz: 8f657fdfe7232107f76d7b32b9a0a244e0c56fa8
5
5
  SHA512:
6
- metadata.gz: 07b2161d15ed11749f517c90e96c529ffe756a60c3a34f7c6f26af15ecb82eef425988bbf01240fa22581c13b6665ea09f0a4def218fb760923b314925d1883d
7
- data.tar.gz: 9849cc5863726741643eb56f1a86c37291c9a9742feb374dd3a7cf21775f7e710a31390644ab221ee5de09f808ea7678b6624b6c7a41c5e63aba7d7d2560d00d
6
+ metadata.gz: 51842942c43ad0143ccc00d449186779f16ff5f974d742d1adffd6094eef59ca6a99d7931c4521f2e5d49eb03f29794a2934eff9df7e773085302b2bf6ccfbee
7
+ data.tar.gz: f3a4767833d5a14fa0719a96c306f1c534d3de5c3257cc54c0d89f2091dea1366539f26408e7e4bd2bc264108c2b8a96d1fa8d32c394363b5a6d3135e7045d52
data/.codeclimate.yml ADDED
@@ -0,0 +1,8 @@
1
+ engines:
2
+ rubocop:
3
+ enabled: true
4
+ ratings:
5
+ paths:
6
+ - "**.rb"
7
+ exclude_paths:
8
+ - spec/**/*
data/.travis.yml CHANGED
@@ -1,3 +1,7 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.1
3
+ - 2.2.1
4
+ addons:
5
+ code_climate:
6
+ repo_token:
7
+ secure: lxx9AvU6thleuPHC2lqrEodyGCrC3VsqaBzYvn5FCB57tiSUGxQmHUugL9mjzyrEOTJy7eG3ry6Fdv/iRFE7wpjdALAd6fQ6s5p9qsCiDZEuplRjNfh/TnF+q8aO1yXRsNH4uSFnv+mDTRT/9Ejz1vm0sVidXA+sHndnU22U/lEBYnxiuB8tYE++4YLQwo4YHs7AQ/OvberouJGfKDlVP0rDpyFgPPT3SQesk1/d3IQ8w9nit/8ioJfmEtPneFMxn9+dVgqsyiGC80GcziZJL+QOinYnK/K7ipUoWat3Zkw63PkOjcxd0oK4biOqKkA738fcQyjlKZwVG4Y9frhc+bcpblvjM3hhaccePAIfN1K2YiWa4SnCau5hQMvPnoskUinfH+/4liDMWKOnizpUXF0a7qilaH1wMU2KGRCXWQ3k7v2jAKDWOuDX61vgm0nUip7+dcrG9OlFZZBnv6rYVwj71dxCztD0rGf9QNO1I2lLwDP/gFKZt5DwLjw68n+e128InRt5VepT1WxhqwSOh9uBBFJz2EaBl+cgxO7JYM/QfzuFp586lohRQ6m00zlqPIzJTJ9/oNzPAB9G12vttcSPwFjLOBYauPBjAcjln5bULYgLa3Oabn+35Uv1LglywdDz0KzHvPsgYexxQHomVdXk9OiA1NlDVni4jCMwAtc=
data/README.md CHANGED
@@ -1,4 +1,6 @@
1
1
  [![Build Status](https://travis-ci.org/apartmentlist/enumerated_constants.svg?branch=master)](https://travis-ci.org/apartmentlist/enumerated_constants)
2
+ [![Code Climate](https://codeclimate.com/github/apartmentlist/enumerated_constants/badges/gpa.svg)](https://codeclimate.com/github/apartmentlist/enumerated_constants)
3
+ [![Test Coverage](https://codeclimate.com/github/apartmentlist/enumerated_constants/badges/coverage.svg)](https://codeclimate.com/github/apartmentlist/enumerated_constants/coverage)
2
4
 
3
5
  # EnumeratedConstants
4
6
 
@@ -24,7 +26,7 @@ Or install it yourself as:
24
26
 
25
27
  Include `EnumeratedConstants` in a module that defines a set of related constants, e.g.
26
28
 
27
- ```
29
+ ```ruby
28
30
  require 'enumerated_constants'
29
31
 
30
32
  class User
data/bin/console CHANGED
@@ -1,14 +1,14 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- require "bundler/setup"
4
- require "enumerated_constants"
3
+ require 'bundler/setup'
4
+ require 'enumerated_constants'
5
5
 
6
6
  # You can add fixtures and/or initialization code here to make experimenting
7
7
  # with your gem easier. You can also use a different console, if you like.
8
8
 
9
9
  # (If you use this, don't forget to add pry to your Gemfile!)
10
- # require "pry"
10
+ # require 'pry'
11
11
  # Pry.start
12
12
 
13
- require "irb"
13
+ require 'irb'
14
14
  IRB.start
@@ -3,20 +3,21 @@ lib = File.expand_path('../lib', __FILE__)
3
3
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
4
 
5
5
  Gem::Specification.new do |spec|
6
- spec.name = "enumerated_constants"
7
- spec.version = "0.2.0"
8
- spec.authors = ["Tom Collier"]
9
- spec.email = ["collier@apartmentlist.com"]
6
+ spec.name = 'enumerated_constants'
7
+ spec.version = '0.3.0'
8
+ spec.authors = ['Tom Collier']
9
+ spec.email = ['collier@apartmentlist.com']
10
10
 
11
- spec.summary = "Ruby mix-in that emulates the classic enum"
12
- spec.license = "MIT"
11
+ spec.summary = 'Ruby mix-in that emulates the classic enum'
12
+ spec.license = 'MIT'
13
+
14
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f =~ %r{^spec/} }
13
15
 
14
- spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
15
- spec.bindir = "exe"
16
16
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
17
- spec.require_paths = ["lib"]
17
+ spec.require_paths = ['lib']
18
18
 
19
- spec.add_development_dependency "bundler", "~> 1.8"
20
- spec.add_development_dependency "rake", "~> 10.0"
21
- spec.add_development_dependency "rspec"
19
+ spec.add_development_dependency 'bundler', '~> 1.8'
20
+ spec.add_development_dependency 'codeclimate-test-reporter'
21
+ spec.add_development_dependency 'rake', '~> 10.0'
22
+ spec.add_development_dependency 'rspec'
22
23
  end
@@ -1,5 +1,7 @@
1
1
  require 'forwardable'
2
2
 
3
+ # Mix-in that allows you to treat a module of related constants like
4
+ # a good ol' fashioned enum.
3
5
  module EnumeratedConstants
4
6
  extend Forwardable
5
7
 
@@ -15,12 +17,12 @@ module EnumeratedConstants
15
17
  # @param name [Symbol,String] The name of the constant you don't want
16
18
  # @return [Array] @all except the value of that constant
17
19
  def except(*names)
18
- const_names =
19
20
  names = names.map(&:upcase).map(&:to_sym)
20
21
  values = names.map do |name|
21
22
  begin
22
23
  const_get(name)
23
24
  rescue NameError
25
+ raise ArgumentError, "Constant #{name} does not exist"
24
26
  end
25
27
  end.compact
26
28
  all - values
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: enumerated_constants
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Collier
8
8
  autorequire:
9
- bindir: exe
9
+ bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-09 00:00:00.000000000 Z
11
+ date: 2015-10-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.8'
27
+ - !ruby/object:Gem::Dependency
28
+ name: codeclimate-test-reporter
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -59,6 +73,7 @@ executables: []
59
73
  extensions: []
60
74
  extra_rdoc_files: []
61
75
  files:
76
+ - ".codeclimate.yml"
62
77
  - ".gitignore"
63
78
  - ".rspec"
64
79
  - ".travis.yml"
@@ -91,9 +106,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
106
  version: '0'
92
107
  requirements: []
93
108
  rubyforge_project:
94
- rubygems_version: 2.4.5
109
+ rubygems_version: 2.4.5.1
95
110
  signing_key:
96
111
  specification_version: 4
97
112
  summary: Ruby mix-in that emulates the classic enum
98
113
  test_files: []
99
- has_rdoc: