bitfields 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -1,7 +1,19 @@
1
- task :default => :spec
2
1
  require 'spec/rake/spectask'
3
2
  Spec::Rake::SpecTask.new {|t| t.spec_opts = ['--color']}
4
3
 
4
+ task :default do
5
+ # test with 2.x
6
+ puts `VERSION='~>2' rake spec`
7
+
8
+ # gem 'activerecord', '>=3' did not work for me, but just require gets the right version...
9
+ require 'active_record'
10
+ if ActiveRecord::VERSION::MAJOR >= 3
11
+ puts `rake spec`
12
+ else
13
+ 'install rails 3 to get full test coverage...'
14
+ end
15
+ end
16
+
5
17
  begin
6
18
  require 'jeweler'
7
19
  project_name = 'bitfields'
@@ -16,4 +28,4 @@ begin
16
28
  Jeweler::GemcutterTasks.new
17
29
  rescue LoadError
18
30
  puts "Jeweler, or one of its dependencies, is not available. Install it with: sudo gem install jeweler"
19
- end
31
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.2
1
+ 0.1.3
data/bitfields.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{bitfields}
8
- s.version = "0.1.2"
8
+ s.version = "0.1.3"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Michael Grosser"]
data/lib/bitfields.rb CHANGED
@@ -19,6 +19,12 @@ module Bitfields
19
19
  bitfields
20
20
  end
21
21
 
22
+ # AR 3+ -> :scope, below :named_scope
23
+ def self.ar_scoping_method
24
+ return :scope if defined?(ActiveRecord::VERSION::MAJOR) and ActiveRecord::VERSION::MAJOR >= 3
25
+ :named_scope
26
+ end
27
+
22
28
  module ClassMethods
23
29
  def bitfield(column, options)
24
30
  # prepare ...
@@ -37,7 +43,7 @@ module Bitfields
37
43
  define_method("#{bit_name}?"){ bitfield_value(bit_name) }
38
44
  define_method("#{bit_name}="){|value| set_bitfield_value(bit_name, value) }
39
45
  if options[:scopes] != false
40
- scoping_method = (respond_to?(:named_scope) ? :named_scope : :scope) # AR 3.0+ uses scope
46
+ scoping_method = Bitfields.ar_scoping_method
41
47
  send scoping_method, bit_name, :conditions => bitfield_sql(bit_name => true)
42
48
  send scoping_method, "not_#{bit_name}", :conditions => bitfield_sql(bit_name => false)
43
49
  end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,12 @@
1
1
  require 'rubygems'
2
+ if ENV['VERSION']
3
+ gem 'activerecord', ENV['VERSION']
4
+ gem 'activesupport', ENV['VERSION']
5
+ end
2
6
  $LOAD_PATH << 'lib'
3
7
  require 'bitfields'
4
- require 'spec/database'
8
+
9
+ require 'active_record'
10
+ puts "Using ActiveRecord #{ActiveRecord::VERSION::STRING}"
11
+
12
+ require 'spec/database'
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 2
9
- version: 0.1.2
8
+ - 3
9
+ version: 0.1.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Michael Grosser