carrierwave-dropbox 1.2.1 → 2.0.0.rc1
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.
- checksums.yaml +4 -4
- data/.credentials.yml +1 -0
- data/.travis.yml +19 -0
- data/CHANGELOG.md +14 -0
- data/README.md +38 -28
- data/Rakefile +23 -3
- data/carrierwave-dropbox.gemspec +8 -10
- data/lib/carrierwave/dropbox.rb +0 -6
- data/lib/carrierwave/dropbox/version.rb +1 -1
- data/lib/carrierwave/storage/dropbox.rb +23 -21
- data/test/carrierwave_uploader_base_test.rb +17 -0
- data/test/dummy_app.rb +43 -0
- data/test/file_upload_test.rb +29 -0
- data/{spec → test}/fixtures/rails.png +0 -0
- data/{spec → test}/fixtures/ruby.png +0 -0
- data/test/test_helper.rb +30 -0
- metadata +43 -173
- data/.rspec +0 -1
- data/lib/carrierwave/dropbox/authorize.rake +0 -13
- data/lib/carrierwave/dropbox/railtie.rb +0 -9
- data/lib/carrierwave/dropbox/rake.rb +0 -41
- data/spec/carrierwave-uploader-base_spec.rb +0 -18
- data/spec/dummy/.gitignore +0 -16
- data/spec/dummy/Gemfile +0 -10
- data/spec/dummy/Rakefile +0 -6
- data/spec/dummy/app/controllers/application_controller.rb +0 -5
- data/spec/dummy/app/controllers/articles_controller.rb +0 -58
- data/spec/dummy/app/controllers/concerns/.keep +0 -0
- data/spec/dummy/app/helpers/application_helper.rb +0 -2
- data/spec/dummy/app/helpers/articles_helper.rb +0 -2
- data/spec/dummy/app/mailers/.keep +0 -0
- data/spec/dummy/app/models/.keep +0 -0
- data/spec/dummy/app/models/article.rb +0 -3
- data/spec/dummy/app/models/concerns/.keep +0 -0
- data/spec/dummy/app/uploaders/image_uploader.rb +0 -19
- data/spec/dummy/app/views/articles/_form.html.erb +0 -29
- data/spec/dummy/app/views/articles/edit.html.erb +0 -6
- data/spec/dummy/app/views/articles/index.html.erb +0 -31
- data/spec/dummy/app/views/articles/new.html.erb +0 -5
- data/spec/dummy/app/views/articles/show.html.erb +0 -1
- data/spec/dummy/app/views/layouts/application.html.erb +0 -12
- data/spec/dummy/bin/bundle +0 -3
- data/spec/dummy/bin/rails +0 -4
- data/spec/dummy/bin/rake +0 -4
- data/spec/dummy/config.ru +0 -4
- data/spec/dummy/config/application.rb +0 -23
- data/spec/dummy/config/boot.rb +0 -4
- data/spec/dummy/config/database.yml +0 -25
- data/spec/dummy/config/environment.rb +0 -5
- data/spec/dummy/config/environments/development.rb +0 -29
- data/spec/dummy/config/environments/production.rb +0 -80
- data/spec/dummy/config/environments/test.rb +0 -36
- data/spec/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/spec/dummy/config/initializers/carrierwave.rb +0 -8
- data/spec/dummy/config/initializers/filter_parameter_logging.rb +0 -4
- data/spec/dummy/config/initializers/inflections.rb +0 -16
- data/spec/dummy/config/initializers/mime_types.rb +0 -5
- data/spec/dummy/config/initializers/secret_token.rb +0 -12
- data/spec/dummy/config/initializers/session_store.rb +0 -3
- data/spec/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/spec/dummy/config/locales/en.yml +0 -23
- data/spec/dummy/config/routes.rb +0 -58
- data/spec/dummy/db/migrate/20140224111953_create_articles.rb +0 -11
- data/spec/dummy/db/schema.rb +0 -24
- data/spec/dummy/db/seeds.rb +0 -7
- data/spec/dummy/public/404.html +0 -58
- data/spec/dummy/public/422.html +0 -58
- data/spec/dummy/public/500.html +0 -57
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/public/robots.txt +0 -5
- data/spec/features/upload_file_spec.rb +0 -46
- data/spec/spec_helper.rb +0 -16
data/.rspec
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
--color
|
@@ -1,13 +0,0 @@
|
|
1
|
-
require "carrierwave/dropbox/rake"
|
2
|
-
|
3
|
-
namespace :dropbox do
|
4
|
-
desc "Obtains your Dropbox credentials"
|
5
|
-
task :authorize do
|
6
|
-
if ENV["APP_KEY"].nil? or ENV["APP_SECRET"].nil?
|
7
|
-
puts "USAGE: `rake dropbox:authorize APP_KEY=your_app_key APP_SECRET=your_app_secret` ACCESS_TYPE=your_access_type"
|
8
|
-
exit
|
9
|
-
end
|
10
|
-
|
11
|
-
CarrierWave::Dropbox::Rake.authorize(ENV["APP_KEY"], ENV["APP_SECRET"], ENV["ACCESS_TYPE"] || "dropbox")
|
12
|
-
end
|
13
|
-
end
|
@@ -1,41 +0,0 @@
|
|
1
|
-
require "dropbox_sdk"
|
2
|
-
|
3
|
-
# This code is directly extracted from this repository:
|
4
|
-
# https://github.com/janko-m/paperclip-dropbox
|
5
|
-
module CarrierWave
|
6
|
-
module Dropbox
|
7
|
-
module Rake
|
8
|
-
extend self
|
9
|
-
|
10
|
-
def authorize(app_key, app_secret, access_type)
|
11
|
-
session = create_new_session(app_key, app_secret)
|
12
|
-
|
13
|
-
puts "Visit this URL: #{session.get_authorize_url}"
|
14
|
-
print "And after you approved the authorization confirm it here (y/n): "
|
15
|
-
|
16
|
-
assert_answer!
|
17
|
-
session.get_access_token
|
18
|
-
dropbox_client = DropboxClient.new(session, access_type)
|
19
|
-
account_info = dropbox_client.account_info
|
20
|
-
|
21
|
-
puts <<-MESSAGE
|
22
|
-
|
23
|
-
Authorization was successful. Here you go:
|
24
|
-
|
25
|
-
access_token: #{session.access_token.key}
|
26
|
-
access_token_secret: #{session.access_token.secret}
|
27
|
-
user_id: #{account_info["uid"]}
|
28
|
-
MESSAGE
|
29
|
-
end
|
30
|
-
|
31
|
-
def create_new_session(app_key, app_secret)
|
32
|
-
DropboxSession.new(app_key, app_secret)
|
33
|
-
end
|
34
|
-
|
35
|
-
def assert_answer!
|
36
|
-
answer = STDIN.gets.strip
|
37
|
-
exit if answer == "n"
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,18 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe CarrierWave::Uploader::Base do
|
4
|
-
it "has the dropbox storage" do
|
5
|
-
described_class.configure do |c|
|
6
|
-
c.storage_engines.should have_key(:dropbox)
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
it "should respond to the different configuration methods" do
|
11
|
-
described_class.should respond_to(:dropbox_app_key)
|
12
|
-
described_class.should respond_to(:dropbox_app_secret)
|
13
|
-
described_class.should respond_to(:dropbox_access_token)
|
14
|
-
described_class.should respond_to(:dropbox_access_token_secret)
|
15
|
-
described_class.should respond_to(:dropbox_user_id)
|
16
|
-
described_class.should respond_to(:dropbox_access_type)
|
17
|
-
end
|
18
|
-
end
|
data/spec/dummy/.gitignore
DELETED
@@ -1,16 +0,0 @@
|
|
1
|
-
# See https://help.github.com/articles/ignoring-files for more about ignoring files.
|
2
|
-
#
|
3
|
-
# If you find yourself ignoring temporary files generated by your text editor
|
4
|
-
# or operating system, you probably want to add a global ignore instead:
|
5
|
-
# git config --global core.excludesfile '~/.gitignore_global'
|
6
|
-
|
7
|
-
# Ignore bundler config.
|
8
|
-
/.bundle
|
9
|
-
|
10
|
-
# Ignore the default SQLite database.
|
11
|
-
/db/*.sqlite3
|
12
|
-
/db/*.sqlite3-journal
|
13
|
-
|
14
|
-
# Ignore all logfiles and tempfiles.
|
15
|
-
/log/*.log
|
16
|
-
/tmp
|
data/spec/dummy/Gemfile
DELETED
data/spec/dummy/Rakefile
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
class ArticlesController < ApplicationController
|
2
|
-
before_action :set_article, only: [:show, :edit, :update, :destroy]
|
3
|
-
|
4
|
-
# GET /articles
|
5
|
-
def index
|
6
|
-
@articles = Article.all
|
7
|
-
end
|
8
|
-
|
9
|
-
# GET /articles/1
|
10
|
-
def show
|
11
|
-
end
|
12
|
-
|
13
|
-
# GET /articles/new
|
14
|
-
def new
|
15
|
-
@article = Article.new
|
16
|
-
end
|
17
|
-
|
18
|
-
# GET /articles/1/edit
|
19
|
-
def edit
|
20
|
-
end
|
21
|
-
|
22
|
-
# POST /articles
|
23
|
-
def create
|
24
|
-
@article = Article.new(article_params)
|
25
|
-
|
26
|
-
if @article.save
|
27
|
-
redirect_to @article, notice: 'Article was successfully created.'
|
28
|
-
else
|
29
|
-
render action: 'new'
|
30
|
-
end
|
31
|
-
end
|
32
|
-
|
33
|
-
# PATCH/PUT /articles/1
|
34
|
-
def update
|
35
|
-
if @article.update(article_params)
|
36
|
-
redirect_to @article, notice: 'Article was successfully updated.'
|
37
|
-
else
|
38
|
-
render action: 'edit'
|
39
|
-
end
|
40
|
-
end
|
41
|
-
|
42
|
-
# DELETE /articles/1
|
43
|
-
def destroy
|
44
|
-
@article.destroy
|
45
|
-
redirect_to articles_url, notice: 'Article was successfully destroyed.'
|
46
|
-
end
|
47
|
-
|
48
|
-
private
|
49
|
-
# Use callbacks to share common setup or constraints between actions.
|
50
|
-
def set_article
|
51
|
-
@article = Article.find(params[:id])
|
52
|
-
end
|
53
|
-
|
54
|
-
# Only allow a trusted parameter "white list" through.
|
55
|
-
def article_params
|
56
|
-
params.require(:article).permit(:title, :body, :image)
|
57
|
-
end
|
58
|
-
end
|
File without changes
|
File without changes
|
data/spec/dummy/app/models/.keep
DELETED
File without changes
|
File without changes
|
@@ -1,19 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
class ImageUploader < CarrierWave::Uploader::Base
|
4
|
-
include CarrierWave::MiniMagick
|
5
|
-
|
6
|
-
def store_dir
|
7
|
-
"foo/#{model.class.to_s.pluralize.underscore}/#{mounted_as}/#{model.id}"
|
8
|
-
end
|
9
|
-
|
10
|
-
storage :dropbox
|
11
|
-
|
12
|
-
version :thumbnail do
|
13
|
-
process resize_to_fit: [300, 200]
|
14
|
-
end
|
15
|
-
|
16
|
-
def extension_white_list
|
17
|
-
%w(jpg jpeg gif png)
|
18
|
-
end
|
19
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
<%= form_for(@article) do |f| %>
|
2
|
-
<% if @article.errors.any? %>
|
3
|
-
<div id="error_explanation">
|
4
|
-
<h2><%= pluralize(@article.errors.count, "error") %> prohibited this article from being saved:</h2>
|
5
|
-
|
6
|
-
<ul>
|
7
|
-
<% @article.errors.full_messages.each do |msg| %>
|
8
|
-
<li><%= msg %></li>
|
9
|
-
<% end %>
|
10
|
-
</ul>
|
11
|
-
</div>
|
12
|
-
<% end %>
|
13
|
-
|
14
|
-
<div class="field">
|
15
|
-
<%= f.label :title %><br>
|
16
|
-
<%= f.text_field :title %>
|
17
|
-
</div>
|
18
|
-
<div class="field">
|
19
|
-
<%= f.label :body %><br>
|
20
|
-
<%= f.text_area :body %>
|
21
|
-
</div>
|
22
|
-
<div class="field">
|
23
|
-
<%= f.label :image %><br>
|
24
|
-
<%= f.file_field :image %>
|
25
|
-
</div>
|
26
|
-
<div class="actions">
|
27
|
-
<%= f.submit %>
|
28
|
-
</div>
|
29
|
-
<% end %>
|
@@ -1,31 +0,0 @@
|
|
1
|
-
<h1>Listing articles</h1>
|
2
|
-
|
3
|
-
<table>
|
4
|
-
<thead>
|
5
|
-
<tr>
|
6
|
-
<th>Title</th>
|
7
|
-
<th>Body</th>
|
8
|
-
<th>Image</th>
|
9
|
-
<th></th>
|
10
|
-
<th></th>
|
11
|
-
<th></th>
|
12
|
-
</tr>
|
13
|
-
</thead>
|
14
|
-
|
15
|
-
<tbody>
|
16
|
-
<% @articles.each do |article| %>
|
17
|
-
<tr>
|
18
|
-
<td><%= article.title %></td>
|
19
|
-
<td><%= article.body %></td>
|
20
|
-
<td><%= article.image %></td>
|
21
|
-
<td><%= link_to 'Show', article %></td>
|
22
|
-
<td><%= link_to 'Edit', edit_article_path(article) %></td>
|
23
|
-
<td><%= link_to 'Destroy', article, method: :delete, data: { confirm: 'Are you sure?' } %></td>
|
24
|
-
</tr>
|
25
|
-
<% end %>
|
26
|
-
</tbody>
|
27
|
-
</table>
|
28
|
-
|
29
|
-
<br>
|
30
|
-
|
31
|
-
<%= link_to 'New Article', new_article_path %>
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= notice %>
|
data/spec/dummy/bin/bundle
DELETED
data/spec/dummy/bin/rails
DELETED
data/spec/dummy/bin/rake
DELETED
data/spec/dummy/config.ru
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require File.expand_path('../boot', __FILE__)
|
2
|
-
|
3
|
-
require 'rails/all'
|
4
|
-
|
5
|
-
# Require the gems listed in Gemfile, including any gems
|
6
|
-
# you've limited to :test, :development, or :production.
|
7
|
-
Bundler.require(:default, Rails.env)
|
8
|
-
|
9
|
-
module Dummy
|
10
|
-
class Application < Rails::Application
|
11
|
-
# Settings in config/environments/* take precedence over those specified here.
|
12
|
-
# Application configuration should go into files in config/initializers
|
13
|
-
# -- all .rb files in that directory are automatically loaded.
|
14
|
-
|
15
|
-
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
|
16
|
-
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.
|
17
|
-
# config.time_zone = 'Central Time (US & Canada)'
|
18
|
-
|
19
|
-
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
20
|
-
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
|
21
|
-
# config.i18n.default_locale = :de
|
22
|
-
end
|
23
|
-
end
|
data/spec/dummy/config/boot.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
# SQLite version 3.x
|
2
|
-
# gem install sqlite3
|
3
|
-
#
|
4
|
-
# Ensure the SQLite 3 gem is defined in your Gemfile
|
5
|
-
# gem 'sqlite3'
|
6
|
-
development:
|
7
|
-
adapter: sqlite3
|
8
|
-
database: db/development.sqlite3
|
9
|
-
pool: 5
|
10
|
-
timeout: 5000
|
11
|
-
|
12
|
-
# Warning: The database defined as "test" will be erased and
|
13
|
-
# re-generated from your development database when you run "rake".
|
14
|
-
# Do not set this db to the same as development or production.
|
15
|
-
test:
|
16
|
-
adapter: sqlite3
|
17
|
-
database: db/test.sqlite3
|
18
|
-
pool: 5
|
19
|
-
timeout: 5000
|
20
|
-
|
21
|
-
production:
|
22
|
-
adapter: sqlite3
|
23
|
-
database: db/production.sqlite3
|
24
|
-
pool: 5
|
25
|
-
timeout: 5000
|
@@ -1,29 +0,0 @@
|
|
1
|
-
Dummy::Application.configure do
|
2
|
-
# Settings specified here will take precedence over those in config/application.rb.
|
3
|
-
|
4
|
-
# In the development environment your application's code is reloaded on
|
5
|
-
# every request. This slows down response time but is perfect for development
|
6
|
-
# since you don't have to restart the web server when you make code changes.
|
7
|
-
config.cache_classes = false
|
8
|
-
|
9
|
-
# Do not eager load code on boot.
|
10
|
-
config.eager_load = false
|
11
|
-
|
12
|
-
# Show full error reports and disable caching.
|
13
|
-
config.consider_all_requests_local = true
|
14
|
-
config.action_controller.perform_caching = false
|
15
|
-
|
16
|
-
# Don't care if the mailer can't send.
|
17
|
-
config.action_mailer.raise_delivery_errors = false
|
18
|
-
|
19
|
-
# Print deprecation notices to the Rails logger.
|
20
|
-
config.active_support.deprecation = :log
|
21
|
-
|
22
|
-
# Raise an error on page load if there are pending migrations
|
23
|
-
config.active_record.migration_error = :page_load
|
24
|
-
|
25
|
-
# Debug mode disables concatenation and preprocessing of assets.
|
26
|
-
# This option may cause significant delays in view rendering with a large
|
27
|
-
# number of complex assets.
|
28
|
-
config.assets.debug = true
|
29
|
-
end
|