active_finite 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
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
-