Commit d97a6c6f by Tute Costa

Merge pull request #1976 from thoughtbot/add-rails-master-appraisals

Add Rails master appraisals in preparation for Rails 5
parents 65ef0d34 799845ec
rvm: rvm:
- 2.1 - 2.1
- 2.2 - 2.2.2
script: "bundle exec rake clean spec cucumber" script: "bundle exec rake clean spec cucumber"
gemfile: gemfile:
- gemfiles/4.2.awsv2.1.gemfile
- gemfiles/4.2.awsv2.0.gemfile - gemfiles/4.2.awsv2.0.gemfile
- gemfiles/4.2.awsv2.1.gemfile
- gemfiles/5.0.awsv2.0.gemfile
- gemfiles/5.0.awsv2.1.gemfile
matrix:
fast_finish: true
exclude:
- gemfile: gemfiles/5.0.awsv2.0.gemfile
rvm: 2.0
- gemfile: gemfiles/5.0.awsv2.1.gemfile
rvm: 2.0
- gemfile: gemfiles/5.0.awsv2.0.gemfile
rvm: 2.1
- gemfile: gemfiles/5.0.awsv2.1.gemfile
rvm: 2.1
sudo: false sudo: false
cache: bundler cache: bundler
appraise "4.2.awsv2.0" do
gem "rails", "~> 4.2.0"
gem "aws-sdk", "~> 2.0.0"
end
appraise "4.2.awsv2.1" do appraise "4.2.awsv2.1" do
gem "rails", "~> 4.2.0" gem "rails", "~> 4.2.0"
gem "aws-sdk", "~> 2.1.0" gem "aws-sdk", "~> 2.1.0"
...@@ -7,11 +12,16 @@ appraise "4.2.awsv2.1" do ...@@ -7,11 +12,16 @@ appraise "4.2.awsv2.1" do
end end
end end
appraise "4.2.awsv2.0" do appraise "5.0.awsv2.0" do
gem "rails", "~> 4.2.0" gem "rails", "5.0.0.beta3"
gem "aws-sdk", "~> 2.0.0" gem "aws-sdk", "~> 2.0.0"
group :development, :test do group :development, :test do
gem 'mime-types', '>= 1.16', '< 4' gem 'mime-types', '>= 1.16', '< 4'
end end
end end
appraise "5.0.awsv2.1" do
gem "rails", "5.0.0.beta3"
gem "aws-sdk", "~> 2.1.0"
end
Paperclip Paperclip
========= =========
## Documentation valid for `master` branch
Please check the documentation for the paperclip version you are using:
https://github.com/thoughtbot/paperclip/releases
---
[![Build Status](https://secure.travis-ci.org/thoughtbot/paperclip.svg?branch=master)](http://travis-ci.org/thoughtbot/paperclip) [![Build Status](https://secure.travis-ci.org/thoughtbot/paperclip.svg?branch=master)](http://travis-ci.org/thoughtbot/paperclip)
[![Dependency Status](https://gemnasium.com/thoughtbot/paperclip.svg?travis)](https://gemnasium.com/thoughtbot/paperclip) [![Dependency Status](https://gemnasium.com/thoughtbot/paperclip.svg?travis)](https://gemnasium.com/thoughtbot/paperclip)
[![Code Climate](https://codeclimate.com/github/thoughtbot/paperclip.svg)](https://codeclimate.com/github/thoughtbot/paperclip) [![Code Climate](https://codeclimate.com/github/thoughtbot/paperclip.svg)](https://codeclimate.com/github/thoughtbot/paperclip)
...@@ -71,9 +78,8 @@ Requirements ...@@ -71,9 +78,8 @@ Requirements
### Ruby and Rails ### Ruby and Rails
Paperclip now requires Ruby version **>= 2.0.0** and Rails version **3.2, >= 4.1** (Only if you're going to use Paperclip with Ruby on Rails.) Paperclip now requires Ruby version **>= 2.1** and Rails version **>= 4.2**
(only if you're going to use Paperclip with Ruby on Rails.)
If you're still on Ruby 1.8.7 or Ruby on Rails 2.3.x, you can still use Paperclip 2.7.x with your project. Also, everything in this README might not apply to your version of Paperclip, and you should read [the README for version 2.7](http://www.rubydoc.info/gems/paperclip/2.7.0) instead.
### Image Processor ### Image Processor
...@@ -100,7 +106,7 @@ to install GhostScript. On Mac OS X, you can also install that using Homebrew: ...@@ -100,7 +106,7 @@ to install GhostScript. On Mac OS X, you can also install that using Homebrew:
brew install gs brew install gs
If you're on Ubuntu (or any Debian base Linux distribution), you'll want to run If you are on Ubuntu (or any Debian base Linux distribution), you'll want to run
the following with apt-get: the following with apt-get:
sudo apt-get install imagemagick -y sudo apt-get install imagemagick -y
...@@ -153,7 +159,7 @@ Paperclip is distributed as a gem, which is how it should be used in your app. ...@@ -153,7 +159,7 @@ Paperclip is distributed as a gem, which is how it should be used in your app.
Include the gem in your Gemfile: Include the gem in your Gemfile:
```ruby ```ruby
gem "paperclip", "~> 4.3" gem "paperclip", "~> 5.0"
``` ```
Or, if you want to get the latest, you can get master from the main paperclip repository: Or, if you want to get the latest, you can get master from the main paperclip repository:
......
...@@ -2,16 +2,16 @@ ...@@ -2,16 +2,16 @@
source "https://rubygems.org" source "https://rubygems.org"
gem "sqlite3", "~> 1.3.8", platforms: :ruby gem "sqlite3", "~> 1.3.8", :platforms => :ruby
gem "pry" gem "pry"
gem "rails", "~> 4.2.0" gem "rails", "~> 4.2.0"
gem "aws-sdk", "~> 2.0.0" gem "aws-sdk", "~> 2.0.0"
group :development, :test do group :development, :test do
gem "activerecord-import" gem "activerecord-import"
gem "mime-types", ">= 1.16", "< 4" gem "mime-types"
gem "builder" gem "builder"
gem "rubocop", :require => false gem "rubocop", :require => false
end end
gemspec path: "../" gemspec :path => "../"
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
source "https://rubygems.org" source "https://rubygems.org"
gem "sqlite3", "~> 1.3.8", platforms: :ruby gem "sqlite3", "~> 1.3.8", :platforms => :ruby
gem "pry" gem "pry"
gem "rails", "~> 4.2.0" gem "rails", "~> 4.2.0"
gem "aws-sdk", "~> 2.1.0" gem "aws-sdk", "~> 2.1.0"
...@@ -14,4 +14,4 @@ group :development, :test do ...@@ -14,4 +14,4 @@ group :development, :test do
gem "rubocop", :require => false gem "rubocop", :require => false
end end
gemspec path: "../" gemspec :path => "../"
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", "~> 1.3.8", :platforms => :ruby
gem "jruby-openssl", :platforms => :jruby
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
gem "rubysl", :platforms => :rbx
gem "racc", :platforms => :rbx
gem "pry"
gem "rails", "~> 4.2.0"
gem "aws-sdk", "~> 2.0"
group :development, :test do
gem "mime-types", "~> 1.16"
gem "builder"
gem "rubocop", :require => false
end
gemspec :path => "../"
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", "~> 1.3.8", :platforms => :ruby
gem "pry"
gem "rails", "5.0.0.beta3"
gem "aws-sdk", "~> 2.0.0"
group :development, :test do
gem "activerecord-import"
gem "mime-types", ">= 1.16", "< 4"
gem "builder"
gem "rubocop", :require => false
end
gemspec :path => "../"
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", "~> 1.3.8", :platforms => :ruby
gem "pry"
gem "rails", "5.0.0.beta3"
gem "aws-sdk", "~> 2.1.0"
group :development, :test do
gem "activerecord-import"
gem "mime-types"
gem "builder"
gem "rubocop", :require => false
end
gemspec :path => "../"
# This file was generated by Appraisal
source "https://rubygems.org"
gem "sqlite3", "~> 1.3.8", :platforms => :ruby
gem "jruby-openssl", :platforms => :jruby
gem "activerecord-jdbcsqlite3-adapter", :platforms => :jruby
gem "rubysl", :platforms => :rbx
gem "racc", :platforms => :rbx
gem "pry"
gem "rails", :github => "rails/rails"
gem "sprockets-rails", :github => "rails/sprockets-rails"
gem "sprockets", :github => "rails/sprockets"
gem "sass-rails", :github => "rails/sass-rails"
gem "arel", :github => "rails/arel"
gem "rack", :github => "rack/rack"
gem "aws-sdk", "~> 2.0"
group :development, :test do
gem "mime-types", "~> 1.16"
gem "builder"
gem "rubocop", :require => false
end
gemspec :path => "../"
...@@ -501,7 +501,7 @@ module Paperclip ...@@ -501,7 +501,7 @@ module Paperclip
instance.run_paperclip_callbacks(:post_process) do instance.run_paperclip_callbacks(:post_process) do
instance.run_paperclip_callbacks(:"#{name}_post_process") do instance.run_paperclip_callbacks(:"#{name}_post_process") do
unless @options[:check_validity_before_processing] && instance.errors.any? if !@options[:check_validity_before_processing] || !instance.errors.any?
post_process_styles(*style_args) post_process_styles(*style_args)
end end
end end
......
...@@ -7,7 +7,7 @@ module Paperclip ...@@ -7,7 +7,7 @@ module Paperclip
module Defining module Defining
def define_paperclip_callbacks(*callbacks) def define_paperclip_callbacks(*callbacks)
define_callbacks(*[callbacks, {:terminator => callback_terminator}].flatten) define_callbacks(*[callbacks, { terminator: hasta_la_vista_baby }].flatten)
callbacks.each do |callback| callbacks.each do |callback|
eval <<-end_callbacks eval <<-end_callbacks
def before_#{callback}(*args, &blk) def before_#{callback}(*args, &blk)
...@@ -22,11 +22,13 @@ module Paperclip ...@@ -22,11 +22,13 @@ module Paperclip
private private
def callback_terminator def hasta_la_vista_baby
if ::ActiveSupport::VERSION::STRING >= '4.1' lambda do |_, result|
lambda { |target, result| result == false } if result.respond_to?(:call)
else result.call == false
'result == false' else
result == false
end
end end
end end
end end
......
...@@ -64,12 +64,11 @@ describe Paperclip::Validators do ...@@ -64,12 +64,11 @@ describe Paperclip::Validators do
assert_raises(RuntimeError){ dummy.valid? } assert_raises(RuntimeError){ dummy.valid? }
end end
it 'allows you to attach a file that does not violates these validations' do it 'allows you to attach a file that does not violate these validations' do
dummy = Dummy.new(avatar: File.new(fixture_file('rotated.jpg'))) dummy = Dummy.new(avatar: File.new(fixture_file('rotated.jpg')))
expect(dummy.errors.keys).to match_array [] expect(dummy.errors.full_messages).to be_empty
assert dummy.valid? assert dummy.valid?
end end
end end
context "using the helper with a conditional" do context "using the helper with a conditional" do
......
...@@ -36,6 +36,7 @@ RSpec.configure do |config| ...@@ -36,6 +36,7 @@ RSpec.configure do |config|
config.include Assertions config.include Assertions
config.include ModelReconstruction config.include ModelReconstruction
config.include TestData config.include TestData
config.include Reporting
config.extend VersionHelper config.extend VersionHelper
config.mock_framework = :mocha config.mock_framework = :mocha
config.before(:all) do config.before(:all) do
......
...@@ -10,7 +10,15 @@ module ModelReconstruction ...@@ -10,7 +10,15 @@ module ModelReconstruction
klass.reset_column_information klass.reset_column_information
klass.connection_pool.clear_table_cache!(klass.table_name) if klass.connection_pool.respond_to?(:clear_table_cache!) klass.connection_pool.clear_table_cache!(klass.table_name) if klass.connection_pool.respond_to?(:clear_table_cache!)
klass.connection.schema_cache.clear_table_cache!(klass.table_name) if klass.connection.respond_to?(:schema_cache)
if klass.connection.respond_to?(:schema_cache)
if ActiveRecord::VERSION::STRING >= "5.0"
klass.connection.schema_cache.clear_data_source_cache!(klass.table_name)
else
klass.connection.schema_cache.clear_table_cache!(klass.table_name)
end
end
klass klass
end end
......
module Reporting
def silence_stream(stream)
old_stream = stream.dup
stream.reopen(RbConfig::CONFIG['host_os'] =~ /mswin|mingw/ ? 'NUL:' : '/dev/null')
stream.sync = true
yield
ensure
stream.reopen(old_stream)
old_stream.close
end
end
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment