thoughtbot--shoulda-matchers/lib/shoulda/matchers/rails_shim.rb

66 lines
1.3 KiB
Ruby

module Shoulda # :nodoc:
module Matchers
class RailsShim # :nodoc:
def self.layouts_ivar
if action_pack_major_version >= 4
'@_layouts'
else
'@layouts'
end
end
def self.flashes_ivar
if action_pack_major_version >= 4
:@flashes
else
:@used
end
end
def self.clean_scope(klass)
if active_record_major_version == 4
klass.all
else
klass.scoped
end
end
def self.validates_confirmation_of_error_attribute(matcher)
if active_model_major_version == 4
matcher.confirmation_attribute
else
matcher.attribute
end
end
def self.verb_for_update
if action_pack_gte_4_1?
:patch
else
:put
end
end
def self.active_record_major_version
::ActiveRecord::VERSION::MAJOR
end
def self.active_model_major_version
::ActiveModel::VERSION::MAJOR
end
def self.action_pack_major_version
::ActionPack::VERSION::MAJOR
end
def self.action_pack_gte_4_1?
Gem::Requirement.new('>= 4.1').satisfied_by?(action_pack_version)
end
def self.action_pack_version
Gem::Version.new(::ActionPack::VERSION::STRING)
end
end
end
end