ar-enums 0.3.4 → 0.3.5

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.
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --colour
data/.rvmrc ADDED
@@ -0,0 +1 @@
1
+ rvm 1.9.2
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in afipws.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,60 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ ar-enums (0.3.5)
5
+ activerecord
6
+ rake
7
+
8
+ GEM
9
+ remote: http://rubygems.org/
10
+ specs:
11
+ activemodel (3.0.3)
12
+ activesupport (= 3.0.3)
13
+ builder (~> 2.1.2)
14
+ i18n (~> 0.4)
15
+ activerecord (3.0.3)
16
+ activemodel (= 3.0.3)
17
+ activesupport (= 3.0.3)
18
+ arel (~> 2.0.2)
19
+ tzinfo (~> 0.3.23)
20
+ activesupport (3.0.3)
21
+ archive-tar-minitar (0.5.2)
22
+ arel (2.0.7)
23
+ builder (2.1.2)
24
+ columnize (0.3.2)
25
+ diff-lcs (1.1.2)
26
+ i18n (0.5.0)
27
+ linecache19 (0.5.11)
28
+ ruby_core_source (>= 0.1.4)
29
+ rake (0.8.7)
30
+ rspec (2.4.0)
31
+ rspec-core (~> 2.4.0)
32
+ rspec-expectations (~> 2.4.0)
33
+ rspec-mocks (~> 2.4.0)
34
+ rspec-core (2.4.0)
35
+ rspec-expectations (2.4.0)
36
+ diff-lcs (~> 1.1.2)
37
+ rspec-mocks (2.4.0)
38
+ ruby-debug-base19 (0.11.24)
39
+ columnize (>= 0.3.1)
40
+ linecache19 (>= 0.5.11)
41
+ ruby_core_source (>= 0.1.4)
42
+ ruby-debug19 (0.11.6)
43
+ columnize (>= 0.3.1)
44
+ linecache19 (>= 0.5.11)
45
+ ruby-debug-base19 (>= 0.11.19)
46
+ ruby_core_source (0.1.4)
47
+ archive-tar-minitar (>= 0.5.2)
48
+ sqlite3 (1.3.3)
49
+ sqlite3-ruby (1.3.3)
50
+ sqlite3 (>= 1.3.3)
51
+ tzinfo (0.3.24)
52
+
53
+ PLATFORMS
54
+ ruby
55
+
56
+ DEPENDENCIES
57
+ ar-enums!
58
+ rspec
59
+ ruby-debug19
60
+ sqlite3-ruby
data/Rakefile CHANGED
@@ -1,45 +1,7 @@
1
- require 'rubygems'
2
- require 'rake'
1
+ require 'bundler'
2
+ Bundler.setup
3
+ Bundler::GemHelper.install_tasks
3
4
 
4
- begin
5
- require 'jeweler'
6
- Jeweler::Tasks.new do |gem|
7
- gem.name = "ar-enums"
8
- gem.summary = %Q{Enumerations for ActiveRecord models}
9
- gem.description = %Q{Provides a simple way for defining enumerations in ActiveRecord models}
10
- gem.email = "emmanicolau@gmail.com"
11
- gem.homepage = "http://github.com/eeng/ar-enums"
12
- gem.authors = ["Emmanuel Nicolau"]
13
- gem.add_development_dependency "rspec", ">= 1.2.9"
14
- # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
15
- end
16
- Jeweler::GemcutterTasks.new
17
- rescue LoadError
18
- puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
19
- end
20
-
21
- require 'spec/rake/spectask'
22
- Spec::Rake::SpecTask.new(:spec) do |spec|
23
- spec.libs << 'lib' << 'spec'
24
- spec.spec_files = FileList['spec/**/*_spec.rb']
25
- end
26
-
27
- Spec::Rake::SpecTask.new(:rcov) do |spec|
28
- spec.libs << 'lib' << 'spec'
29
- spec.pattern = 'spec/**/*_spec.rb'
30
- spec.rcov = true
31
- end
32
-
33
- task :spec => :check_dependencies
34
-
35
- task :default => :spec
36
-
37
- require 'rake/rdoctask'
38
- Rake::RDocTask.new do |rdoc|
39
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
40
-
41
- rdoc.rdoc_dir = 'rdoc'
42
- rdoc.title = "ar-enums #{version}"
43
- rdoc.rdoc_files.include('README*')
44
- rdoc.rdoc_files.include('lib/**/*.rb')
45
- end
5
+ require "rspec/core/rake_task"
6
+ RSpec::Core::RakeTask.new :spec
7
+ task :default => :spec
data/ar_enums.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "ar_enums/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "ar-enums"
7
+ s.version = ArEnums::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Emmanuel Nicolau"]
10
+ s.email = ["emmanicolau@gmail.com"]
11
+ s.summary = %q{Provides a simple way for defining enumerations in ActiveRecord models}
12
+
13
+ s.rubyforge_project = "ar-enums"
14
+
15
+ s.files = `git ls-files`.split("\n")
16
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
+ s.require_paths = ["lib"]
19
+
20
+ s.add_development_dependency "rspec"
21
+ s.add_development_dependency "ruby-debug19"
22
+ s.add_development_dependency "sqlite3-ruby"
23
+ s.add_dependency "activerecord"
24
+ s.add_dependency "rake"
25
+ end
@@ -0,0 +1 @@
1
+ Autotest.add_discovery { "rspec2" }
@@ -48,6 +48,10 @@ module ActiveRecord
48
48
  all.select { |enum| ids.include? enum.id }
49
49
  end
50
50
 
51
+ def in? *enums
52
+ enums.any? { |e| self == e }
53
+ end
54
+
51
55
  private
52
56
  def self.define_enums_getter enums
53
57
  cattr_accessor :all
File without changes
File without changes
@@ -40,7 +40,7 @@ module ActiveRecord
40
40
  end
41
41
 
42
42
  def create_enums
43
- enums = if @block
43
+ if @block
44
44
  block_style
45
45
  elsif @values.any?
46
46
  array_of_values_or_hashes_style
@@ -0,0 +1,3 @@
1
+ module ArEnums
2
+ VERSION = "0.3.5"
3
+ end
@@ -1,4 +1,4 @@
1
1
  require 'active_record'
2
2
  %w[metaprogramming_extensions options_helper enum enum_block enum_field factory enum_definition].each do |f|
3
- require f
3
+ require "ar_enums/#{f}"
4
4
  end
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
1
+ require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
2
 
3
3
  describe "Internal enumerations" do
4
4
  def define_traffic_light *options
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
1
+ require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
2
 
3
3
  describe "Enum" do
4
4
  it "should provide :to_sym method returning name as symbols" do
@@ -48,4 +48,19 @@ describe "Enum" do
48
48
  Color.find_all_by_id([]).should == []
49
49
  end
50
50
  end
51
+
52
+ it "in? should check if == to any" do
53
+ define_model_class 'Color', 'ActiveRecord::Enum' do
54
+ enumeration do
55
+ red :rgb => 0xF00
56
+ green :rgb => 0x0F0
57
+ blue :rgb => 0x00F
58
+ end
59
+ end
60
+
61
+ Color[:red].should be_in :red, :blue
62
+ Color[:red].should be_in :green, :red, :blue
63
+ Color[:red].should be_in Color[:red]
64
+ Color[:red].should_not be_in :blue
65
+ end
51
66
  end
@@ -1,4 +1,4 @@
1
- require File.dirname(__FILE__) + '/spec_helper'
1
+ require File.expand_path('../spec_helper', File.dirname(__FILE__))
2
2
 
3
3
  describe "Enums creation styles" do
4
4
  include ActiveRecord::Enumerations::OptionsHelper
data/spec/spec_helper.rb CHANGED
@@ -1,25 +1,22 @@
1
- $LOAD_PATH.unshift(File.dirname(__FILE__))
2
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
- require 'rubygems'
4
- require 'ar-enums'
5
- require 'spec'
6
- require 'spec/autorun'
1
+ require 'rspec'
2
+ require 'ruby-debug'
3
+ require 'ar_enums'
7
4
 
8
- Spec::Runner.configure do |config|
5
+ RSpec.configure do |config|
9
6
  config.before :suite do
10
7
  ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
11
8
  load(File.dirname(__FILE__) + "/schema.rb")
12
9
  end
13
10
 
14
11
  def define_model_class(name = "TestClass", parent_class_name = "ActiveRecord::Base", &block)
15
- Object.send(:remove_const, name) rescue nil
12
+ ActiveSupport::Dependencies.send :remove_const, name rescue nil
16
13
  eval("class #{name} < #{parent_class_name}; end", TOPLEVEL_BINDING)
17
14
  klass = eval(name, TOPLEVEL_BINDING)
18
15
  klass.class_eval(&block) if block_given?
19
16
  end
20
17
  end
21
18
 
22
- Spec::Matchers.define :be_enum_with do |expected_attrs|
19
+ RSpec::Matchers.define :be_enum_with do |expected_attrs|
23
20
  match do |enum|
24
21
  enum.should be_a(ActiveRecord::Enum)
25
22
  expected_attrs.each do |atrib, expected_value|
@@ -27,3 +24,4 @@ Spec::Matchers.define :be_enum_with do |expected_attrs|
27
24
  end
28
25
  end
29
26
  end
27
+
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ar-enums
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
5
4
  prerelease: false
6
5
  segments:
7
6
  - 0
8
7
  - 3
9
- - 4
10
- version: 0.3.4
8
+ - 5
9
+ version: 0.3.5
11
10
  platform: ruby
12
11
  authors:
13
12
  - Emmanuel Nicolau
@@ -15,65 +14,117 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2010-09-03 00:00:00 -03:00
17
+ date: 2011-01-21 00:00:00 -03:00
19
18
  default_executable:
20
19
  dependencies:
21
20
  - !ruby/object:Gem::Dependency
22
21
  name: rspec
23
- prerelease: false
24
22
  requirement: &id001 !ruby/object:Gem::Requirement
25
23
  none: false
26
24
  requirements:
27
25
  - - ">="
28
26
  - !ruby/object:Gem::Version
29
- hash: 13
30
27
  segments:
31
- - 1
32
- - 2
33
- - 9
34
- version: 1.2.9
28
+ - 0
29
+ version: "0"
35
30
  type: :development
31
+ prerelease: false
36
32
  version_requirements: *id001
37
- description: Provides a simple way for defining enumerations in ActiveRecord models
38
- email: emmanicolau@gmail.com
33
+ - !ruby/object:Gem::Dependency
34
+ name: ruby-debug19
35
+ requirement: &id002 !ruby/object:Gem::Requirement
36
+ none: false
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ segments:
41
+ - 0
42
+ version: "0"
43
+ type: :development
44
+ prerelease: false
45
+ version_requirements: *id002
46
+ - !ruby/object:Gem::Dependency
47
+ name: sqlite3-ruby
48
+ requirement: &id003 !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ segments:
54
+ - 0
55
+ version: "0"
56
+ type: :development
57
+ prerelease: false
58
+ version_requirements: *id003
59
+ - !ruby/object:Gem::Dependency
60
+ name: activerecord
61
+ requirement: &id004 !ruby/object:Gem::Requirement
62
+ none: false
63
+ requirements:
64
+ - - ">="
65
+ - !ruby/object:Gem::Version
66
+ segments:
67
+ - 0
68
+ version: "0"
69
+ type: :runtime
70
+ prerelease: false
71
+ version_requirements: *id004
72
+ - !ruby/object:Gem::Dependency
73
+ name: rake
74
+ requirement: &id005 !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ">="
78
+ - !ruby/object:Gem::Version
79
+ segments:
80
+ - 0
81
+ version: "0"
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: *id005
85
+ description:
86
+ email:
87
+ - emmanicolau@gmail.com
39
88
  executables: []
40
89
 
41
90
  extensions: []
42
91
 
43
- extra_rdoc_files:
44
- - LICENSE
45
- - README.rdoc
92
+ extra_rdoc_files: []
93
+
46
94
  files:
47
95
  - .autotest
48
- - .document
49
96
  - .gitignore
97
+ - .rspec
98
+ - .rvmrc
99
+ - Gemfile
100
+ - Gemfile.lock
50
101
  - LICENSE
51
102
  - README.rdoc
52
103
  - Rakefile
53
- - VERSION
54
- - ar-enums.gemspec
104
+ - ar_enums.gemspec
105
+ - autotest/discover.rb
55
106
  - examples/internal_enums.rb
56
- - lib/ar-enums.rb
57
- - lib/enum.rb
58
- - lib/enum_block.rb
59
- - lib/enum_definition.rb
60
- - lib/enum_field.rb
61
- - lib/factory.rb
62
- - lib/metaprogramming_extensions.rb
63
- - lib/options_helper.rb
64
- - spec/enum_definition_spec.rb
65
- - spec/enum_spec.rb
66
- - spec/factory_spec.rb
107
+ - lib/ar_enums.rb
108
+ - lib/ar_enums/enum.rb
109
+ - lib/ar_enums/enum_block.rb
110
+ - lib/ar_enums/enum_definition.rb
111
+ - lib/ar_enums/enum_field.rb
112
+ - lib/ar_enums/factory.rb
113
+ - lib/ar_enums/metaprogramming_extensions.rb
114
+ - lib/ar_enums/options_helper.rb
115
+ - lib/ar_enums/version.rb
116
+ - spec/ar_enums/enum_definition_spec.rb
117
+ - spec/ar_enums/enum_spec.rb
118
+ - spec/ar_enums/factory_spec.rb
67
119
  - spec/schema.rb
68
- - spec/spec.opts
69
120
  - spec/spec_helper.rb
70
121
  has_rdoc: true
71
- homepage: http://github.com/eeng/ar-enums
122
+ homepage:
72
123
  licenses: []
73
124
 
74
125
  post_install_message:
75
- rdoc_options:
76
- - --charset=UTF-8
126
+ rdoc_options: []
127
+
77
128
  require_paths:
78
129
  - lib
79
130
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -81,7 +132,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
81
132
  requirements:
82
133
  - - ">="
83
134
  - !ruby/object:Gem::Version
84
- hash: 3
135
+ hash: 268053231401669126
85
136
  segments:
86
137
  - 0
87
138
  version: "0"
@@ -90,21 +141,20 @@ required_rubygems_version: !ruby/object:Gem::Requirement
90
141
  requirements:
91
142
  - - ">="
92
143
  - !ruby/object:Gem::Version
93
- hash: 3
144
+ hash: 268053231401669126
94
145
  segments:
95
146
  - 0
96
147
  version: "0"
97
148
  requirements: []
98
149
 
99
- rubyforge_project:
150
+ rubyforge_project: ar-enums
100
151
  rubygems_version: 1.3.7
101
152
  signing_key:
102
153
  specification_version: 3
103
- summary: Enumerations for ActiveRecord models
154
+ summary: Provides a simple way for defining enumerations in ActiveRecord models
104
155
  test_files:
105
- - spec/enum_definition_spec.rb
106
- - spec/enum_spec.rb
107
- - spec/factory_spec.rb
156
+ - spec/ar_enums/enum_definition_spec.rb
157
+ - spec/ar_enums/enum_spec.rb
158
+ - spec/ar_enums/factory_spec.rb
108
159
  - spec/schema.rb
109
160
  - spec/spec_helper.rb
110
- - examples/internal_enums.rb
data/.document DELETED
@@ -1,5 +0,0 @@
1
- README.rdoc
2
- lib/**/*.rb
3
- bin/*
4
- features/**/*.feature
5
- LICENSE
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 0.3.4
data/ar-enums.gemspec DELETED
@@ -1,71 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{ar-enums}
8
- s.version = "0.3.4"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Emmanuel Nicolau"]
12
- s.date = %q{2010-09-03}
13
- s.description = %q{Provides a simple way for defining enumerations in ActiveRecord models}
14
- s.email = %q{emmanicolau@gmail.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".autotest",
21
- ".document",
22
- ".gitignore",
23
- "LICENSE",
24
- "README.rdoc",
25
- "Rakefile",
26
- "VERSION",
27
- "ar-enums.gemspec",
28
- "examples/internal_enums.rb",
29
- "lib/ar-enums.rb",
30
- "lib/enum.rb",
31
- "lib/enum_block.rb",
32
- "lib/enum_definition.rb",
33
- "lib/enum_field.rb",
34
- "lib/factory.rb",
35
- "lib/metaprogramming_extensions.rb",
36
- "lib/options_helper.rb",
37
- "spec/enum_definition_spec.rb",
38
- "spec/enum_spec.rb",
39
- "spec/factory_spec.rb",
40
- "spec/schema.rb",
41
- "spec/spec.opts",
42
- "spec/spec_helper.rb"
43
- ]
44
- s.homepage = %q{http://github.com/eeng/ar-enums}
45
- s.rdoc_options = ["--charset=UTF-8"]
46
- s.require_paths = ["lib"]
47
- s.rubygems_version = %q{1.3.7}
48
- s.summary = %q{Enumerations for ActiveRecord models}
49
- s.test_files = [
50
- "spec/enum_definition_spec.rb",
51
- "spec/enum_spec.rb",
52
- "spec/factory_spec.rb",
53
- "spec/schema.rb",
54
- "spec/spec_helper.rb",
55
- "examples/internal_enums.rb"
56
- ]
57
-
58
- if s.respond_to? :specification_version then
59
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
60
- s.specification_version = 3
61
-
62
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
63
- s.add_development_dependency(%q<rspec>, [">= 1.2.9"])
64
- else
65
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
66
- end
67
- else
68
- s.add_dependency(%q<rspec>, [">= 1.2.9"])
69
- end
70
- end
71
-
data/spec/spec.opts DELETED
@@ -1,3 +0,0 @@
1
- --color
2
- --debugger
3
- --backtrace