enumerated_constants 0.2.0 → 0.3.0

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: 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: