booleanize 0.4 → 0.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/CHANGELOG +4 -0
- data/README.rdoc +4 -0
- data/lib/booleanize.rb +6 -3
- data/spec/booleanize_spec.rb +3 -0
- metadata +3 -3
data/CHANGELOG
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
0.5.0 (03 Sep 2010)
|
2
|
+
* Ok, we're now compatible with both Rails 2 and 3. Be it scope or
|
3
|
+
named_scope, they will be created.
|
4
|
+
|
1
5
|
0.4.0 (03 Sep 2010)
|
2
6
|
* Updated to use Rspec2 (now to run the tests just do `rspec ./spec`)
|
3
7
|
* Changed the scope creation to use "scope" instead of "named_scope" so we no
|
data/README.rdoc
CHANGED
@@ -94,6 +94,10 @@ You can simply write
|
|
94
94
|
Just clone the plugin inside <tt>RAILS_ROOT/vendor/plugins</tt>
|
95
95
|
|
96
96
|
git clone git://github.com/cassiomarques/booleanize.git
|
97
|
+
|
98
|
+
=== Rails 3
|
99
|
+
|
100
|
+
The 0.4 version and above are suited for use with Rails 3 and are NOT backward compatible with version 0.3
|
97
101
|
|
98
102
|
== Running the tests
|
99
103
|
|
data/lib/booleanize.rb
CHANGED
@@ -82,13 +82,16 @@ module Booleanize
|
|
82
82
|
end
|
83
83
|
|
84
84
|
private
|
85
|
-
|
86
85
|
def create_true_scope(attr_name)
|
87
|
-
|
86
|
+
create_scope [attr_name, {:conditions => {attr_name => true}}]
|
88
87
|
end
|
89
88
|
|
90
89
|
def create_false_scope(attr_name)
|
91
|
-
|
90
|
+
create_scope [:"not_#{attr_name}", {:conditions => {attr_name => false}}]
|
91
|
+
end
|
92
|
+
|
93
|
+
def create_scope(params)
|
94
|
+
Rails.version > "2.3.8" ? scope(*params) : named_scope(*params)
|
92
95
|
end
|
93
96
|
|
94
97
|
def create_humanize_method(attr_name, true_str, false_str)
|
data/spec/booleanize_spec.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'rubygems'
|
2
2
|
require 'rspec'
|
3
3
|
require 'active_record'
|
4
|
+
require 'ostruct'
|
4
5
|
require File.dirname(__FILE__) + "/../lib/booleanize"
|
5
6
|
|
6
7
|
ActiveRecord::Base.establish_connection(:adapter=>"sqlite3", :database => ":memory:")
|
@@ -8,6 +9,8 @@ require File.dirname(__FILE__) + "/db/create_testing_structure"
|
|
8
9
|
|
9
10
|
CreateTestingStructure.migrate(:up)
|
10
11
|
|
12
|
+
Booleanize.const_set("Rails", OpenStruct.new(:version => "3.0.0"))
|
13
|
+
|
11
14
|
class User < ActiveRecord::Base
|
12
15
|
booleanize [:dumb, "Dumb as hell!", "No, this is a smart one!"], :active, [:smart, "Yes!", "No, very dumb"], :deleted => ["Yes, I'm gone", "No, I'm still here!"]
|
13
16
|
end
|
metadata
CHANGED
@@ -1,12 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: booleanize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 1
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
|
-
-
|
9
|
-
version: "0.
|
8
|
+
- 5
|
9
|
+
version: "0.5"
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- "C\xC3\xA1ssio Marques"
|