active_finite 0.1.0 → 0.1.1

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/README.rdoc CHANGED
@@ -31,7 +31,7 @@ Note that if it doesn't matter what the column's name is, the method
31
31
  default_column_name can be used.
32
32
 
33
33
  Now that we some hellos in our Hello model, we can access them using:
34
- hellos = active_finite :hellos
34
+ hellos = active_finite :hellos
35
35
 
36
36
  The variable hellos now holds a class derived from ActiveRecord named
37
37
  Hello, so all of the normal ActiveRecord methods can be used.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
data/lib/active_finite.rb CHANGED
@@ -6,8 +6,7 @@ require 'json'
6
6
 
7
7
  def active_finite sym
8
8
  anon = Class.new ActiveRecord::Base
9
- klass = Object.const_set(sym.to_s.singularize.capitalize, anon)
10
- klass
9
+ Object.const_set(sym.to_s.singularize.capitalize, anon)
11
10
  end
12
11
 
13
12
  def create_finite args
@@ -53,7 +52,9 @@ def modify_finite args
53
52
  end
54
53
 
55
54
  klass = active_finite table_name
56
- yield to_be_modified, klass, column_name
55
+ ActiveRecord::Base.transaction do
56
+ yield to_be_modified, klass, column_name
57
+ end
57
58
  end
58
59
 
59
60
  def default_column_name
@@ -28,7 +28,7 @@ ActiveRecord::Base.establish_connection(
28
28
  create_finite in_table: :colors, values: finites
29
29
 
30
30
  finites.each do |f|
31
- Color. where(default_column_name => f).should_not nil
31
+ Color.where(default_column_name => f).should_not nil
32
32
  end
33
33
  end
34
34
 
@@ -63,6 +63,21 @@ ActiveRecord::Base.establish_connection(
63
63
  Villan.where(default_column_name => v).should_not nil
64
64
  end
65
65
  end
66
+
67
+ it 'will fail atomically' do
68
+ ActiveRecord::Schema.define do
69
+ create_table :wu_members do |t|
70
+ t.string default_column_name, :null => false
71
+ end
72
+ end
73
+ begin
74
+ create_finite in_table: :wu_members, values: ['rza', 'gza', nil]
75
+ rescue
76
+ ['rza', 'gza'].each do |w|
77
+ active_finite(:wu_members).where(default_column_name => w).should nil
78
+ end
79
+ end
80
+ end
66
81
  end
67
82
 
68
83
  describe 'drop_finite' do
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: active_finite
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.0
5
+ version: 0.1.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - me
@@ -95,7 +95,6 @@ files:
95
95
  - README.rdoc
96
96
  - Rakefile
97
97
  - VERSION
98
- - active_finite.gemspec
99
98
  - lib/active_finite.rb
100
99
  - spec/active_finite_spec.rb
101
100
  - spec/spec_helper.rb
@@ -114,7 +113,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
114
113
  requirements:
115
114
  - - ">="
116
115
  - !ruby/object:Gem::Version
117
- hash: 192715187
116
+ hash: -1023988333
118
117
  segments:
119
118
  - 0
120
119
  version: "0"
@@ -1,69 +0,0 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
-
6
- Gem::Specification.new do |s|
7
- s.name = %q{active_finite}
8
- s.version = "0.1.0"
9
-
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["me"]
12
- s.date = %q{2011-04-12}
13
- s.description = %q{longer description of your gem}
14
- s.email = %q{me@stuffihavemade.com}
15
- s.extra_rdoc_files = [
16
- "LICENSE.txt",
17
- "README.rdoc"
18
- ]
19
- s.files = [
20
- ".document",
21
- "Gemfile",
22
- "LICENSE.txt",
23
- "README.rdoc",
24
- "Rakefile",
25
- "VERSION",
26
- "active_finite.gemspec",
27
- "lib/active_finite.rb",
28
- "spec/active_finite_spec.rb",
29
- "spec/spec_helper.rb",
30
- "spec/villans.json"
31
- ]
32
- s.homepage = %q{http://github.com/r4pdevteam/active_finite}
33
- s.licenses = ["MIT"]
34
- s.require_paths = ["lib"]
35
- s.rubygems_version = %q{1.5.0}
36
- s.summary = %q{one-line summary of your gem}
37
- s.test_files = [
38
- "spec/active_finite_spec.rb",
39
- "spec/spec_helper.rb"
40
- ]
41
-
42
- if s.respond_to? :specification_version then
43
- s.specification_version = 3
44
-
45
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
46
- s.add_runtime_dependency(%q<activesupport>, ["~> 3.0.3"])
47
- s.add_runtime_dependency(%q<activerecord>, ["~> 3.0.3"])
48
- s.add_runtime_dependency(%q<json>, ["~> 1.5.1"])
49
- s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
50
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
51
- s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
52
- else
53
- s.add_dependency(%q<activesupport>, ["~> 3.0.3"])
54
- s.add_dependency(%q<activerecord>, ["~> 3.0.3"])
55
- s.add_dependency(%q<json>, ["~> 1.5.1"])
56
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
57
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
58
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
59
- end
60
- else
61
- s.add_dependency(%q<activesupport>, ["~> 3.0.3"])
62
- s.add_dependency(%q<activerecord>, ["~> 3.0.3"])
63
- s.add_dependency(%q<json>, ["~> 1.5.1"])
64
- s.add_dependency(%q<rspec>, ["~> 2.3.0"])
65
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
66
- s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
67
- end
68
- end
69
-