falls_back_on 0.0.2 → 0.0.3
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/lib/falls_back_on.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class Arcade < ActiveRecord::Base
|
4
|
+
attr_accessor :pinball_count, :video_game_count
|
5
|
+
|
6
|
+
falls_back_on :pinball_count => 73
|
7
|
+
end
|
8
|
+
|
9
|
+
describe Fallback do
|
10
|
+
describe '.destroy_for' do
|
11
|
+
it 'should destroy a fallback' do
|
12
|
+
Fallback.create :name => 'Arcade'
|
13
|
+
expect do
|
14
|
+
Fallback.destroy_for Arcade
|
15
|
+
end.should change(Fallback, :count).by(-1)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
class State < ActiveRecord::Base
|
4
|
+
falls_back_on :area => 10000
|
5
|
+
end
|
6
|
+
|
7
|
+
describe FallsBackOn do
|
8
|
+
describe '.class_name' do
|
9
|
+
it 'should return the class name' do
|
10
|
+
State.class_name.should == 'State'
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
describe '.set_fallback' do
|
15
|
+
it 'should create a Fallback for a class' do
|
16
|
+
State.set_fallback
|
17
|
+
|
18
|
+
fallback = Fallback.find_by_name 'State'
|
19
|
+
fallback.should be_an_instance_of(Fallback)
|
20
|
+
fallback.values.should == {:area => 10000 }
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'bundler'
|
3
|
+
begin
|
4
|
+
Bundler.setup
|
5
|
+
rescue Bundler::BundlerError => e
|
6
|
+
$stderr.puts e.message
|
7
|
+
$stderr.puts "Run `bundle install` to install missing gems"
|
8
|
+
exit e.status_code
|
9
|
+
end
|
10
|
+
|
11
|
+
require 'active_record'
|
12
|
+
require 'logger'
|
13
|
+
|
14
|
+
$:.unshift File.expand_path('../lib', __FILE__)
|
15
|
+
require 'falls_back_on'
|
16
|
+
require 'falls_back_on/active_record_ext'
|
17
|
+
require 'falls_back_on/app/models/fallback'
|
18
|
+
|
19
|
+
ActiveRecord::Base.logger = Logger.new nil
|
20
|
+
ActiveRecord::Base.establish_connection :adapter => 'sqlite3', :database => ':memory:'
|
21
|
+
|
22
|
+
ActiveRecord::Schema.define(:version => 1) do
|
23
|
+
create_table "fallbacks", :force => true do |t|
|
24
|
+
t.string "name"
|
25
|
+
t.text "values"
|
26
|
+
t.datetime "created_at"
|
27
|
+
t.datetime "updated_at"
|
28
|
+
end
|
29
|
+
|
30
|
+
create_table 'states' do |t|
|
31
|
+
t.integer 'area'
|
32
|
+
end
|
33
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: falls_back_on
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 3
|
10
|
+
version: 0.0.3
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Seamus Abshere
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-
|
19
|
+
date: 2010-08-31 00:00:00 -04:00
|
20
20
|
default_executable:
|
21
21
|
dependencies:
|
22
22
|
- !ruby/object:Gem::Dependency
|
@@ -75,6 +75,38 @@ dependencies:
|
|
75
75
|
- 0
|
76
76
|
version: "0"
|
77
77
|
requirement: *id004
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
type: :development
|
80
|
+
prerelease: false
|
81
|
+
name: sqlite3-ruby
|
82
|
+
version_requirements: &id005 !ruby/object:Gem::Requirement
|
83
|
+
none: false
|
84
|
+
requirements:
|
85
|
+
- - ">="
|
86
|
+
- !ruby/object:Gem::Version
|
87
|
+
hash: 3
|
88
|
+
segments:
|
89
|
+
- 0
|
90
|
+
version: "0"
|
91
|
+
requirement: *id005
|
92
|
+
- !ruby/object:Gem::Dependency
|
93
|
+
type: :development
|
94
|
+
prerelease: false
|
95
|
+
name: rspec
|
96
|
+
version_requirements: &id006 !ruby/object:Gem::Requirement
|
97
|
+
none: false
|
98
|
+
requirements:
|
99
|
+
- - ">="
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
hash: 62196427
|
102
|
+
segments:
|
103
|
+
- 2
|
104
|
+
- 0
|
105
|
+
- 0
|
106
|
+
- beta
|
107
|
+
- 20
|
108
|
+
version: 2.0.0.beta.20
|
109
|
+
requirement: *id006
|
78
110
|
description: |
|
79
111
|
= falls_back_on
|
80
112
|
|
@@ -109,6 +141,9 @@ files:
|
|
109
141
|
- rails/init.rb
|
110
142
|
- LICENSE
|
111
143
|
- README.rdoc
|
144
|
+
- spec/lib/falls_back_on/app/models/fallback_spec.rb
|
145
|
+
- spec/lib/falls_back_on_spec.rb
|
146
|
+
- spec/spec_helper.rb
|
112
147
|
has_rdoc: true
|
113
148
|
homepage: http://github.com/dkastner/falls_back_on
|
114
149
|
licenses: []
|
@@ -143,5 +178,7 @@ rubygems_version: 1.3.7
|
|
143
178
|
signing_key:
|
144
179
|
specification_version: 3
|
145
180
|
summary: ActiveRecord extension to intelligently fall back on another column when a given column is unavailable
|
146
|
-
test_files:
|
147
|
-
|
181
|
+
test_files:
|
182
|
+
- spec/lib/falls_back_on/app/models/fallback_spec.rb
|
183
|
+
- spec/lib/falls_back_on_spec.rb
|
184
|
+
- spec/spec_helper.rb
|