paperclip-fedora 0.1.0 → 0.2.0

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/README.md CHANGED
@@ -5,10 +5,36 @@ Paperclip-Fedora uses Rubydora to extend the storage options of Paperclip to use
5
5
 
6
6
  ## Installation
7
7
 
8
- TODO: Tell how to install this thing!
8
+ To use, require the gem in your Gemfile:
9
9
 
10
- ## Copyright
10
+ `gem 'paperclip-fedora'`
11
11
 
12
- Copyright (c) 2011 Jared Sartin. See LICENSE for
13
- further details.
12
+ To specify Fedora Commons as your storage location, add the storage option to your
13
+ has_attachment:
14
14
 
15
+ `has_attached_file :content, :storage => :Fedora`
16
+
17
+ For server connection options, you should have a file titled paperclip_fedora.yml in your
18
+ /config folder. There is a nifty rake task to put the yaml file there for you:
19
+
20
+ `rake paperclip:fedora:setup`
21
+
22
+ After that, go edit the yaml file with your server settings per rails environment (They default to a server on the localhost).
23
+
24
+ ## Overview
25
+
26
+ The Fedora Commons storage has very complex ways of connecting data. Currently in
27
+ paperclip-fedora there is no support for complex relationships. The upload creates
28
+ a data object with a datastream per style (such as thumbnails, image sizes, or
29
+ other that you specify), as well as the original upload.
30
+
31
+ ## Todo
32
+
33
+ The object and datastream labels are currently static and not too pretty. Plans to
34
+ make the object label the original filename and the datastreams follow a similar pattern.
35
+
36
+ ## Copyright & Acknowledgements
37
+
38
+ Using Paperclip: https://github.com/thoughtbot/paperclip
39
+
40
+ Using Rubydora: https://github.com/cbeer/rubydora
data/Rakefile CHANGED
@@ -1 +1,3 @@
1
- require "bundler/gem_tasks"
1
+ require 'bundler'
2
+
3
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1,11 @@
1
+ module Paperclip
2
+ module Storage
3
+ module Fedora
4
+ class Railtie < Rails::Railtie
5
+ rake_tasks do
6
+ require "paperclip-fedora/rake"
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,8 @@
1
+ namespace :paperclip do
2
+ namespace :fedora do
3
+ desc "Copy the default configuration to the config folder"
4
+ task :setup => [:environment] do
5
+ Paperclip::Storage::Fedora.setup!
6
+ end
7
+ end
8
+ end
@@ -1,5 +1,5 @@
1
1
  module Paperclip
2
2
  module Fedora
3
- VERSION = "0.1.0"
3
+ VERSION = "0.2.0"
4
4
  end
5
5
  end
@@ -1,13 +1,16 @@
1
1
  require "paperclip-fedora/version"
2
+ require "paperclip-fedora/railtie" if Rails.version >= "3.0"
3
+ require "FileUtils" unless defined?(FileUtils)
2
4
 
3
5
  module Paperclip
4
6
  module Storage
5
7
  module Fedora
8
+ extend self
6
9
  def self.extended(base)
7
10
  require 'rubydora'
8
11
  base.instance_eval do
9
12
  if(!@options[:fedora_config])
10
- @options[:fedora_config] = Rails.root.to_s + "/config/paperclip_fedora.yml"
13
+ @options[:fedora_config] = config_file
11
14
  end
12
15
 
13
16
  @fedora_config = parse_config(@options[:fedora_config])
@@ -38,7 +41,7 @@ module Paperclip
38
41
  ds.file = file
39
42
  ds.dsLabel = "TempFile"
40
43
  ds.save
41
- log("Added #{style} to #{@object_id}")
44
+ log("Added #{style} datastream to #{@object_id}")
42
45
  end
43
46
  @queued_for_write = {}
44
47
  end
@@ -75,6 +78,18 @@ module Paperclip
75
78
  (config[Rails.env] || config).symbolize_keys
76
79
  end
77
80
 
81
+ def setup!
82
+ FileUtils.cp(File.dirname(__FILE__) + "/../config/paperclip_fedora.yml", config_file) unless config?
83
+ end
84
+
85
+ def config_file
86
+ Rails.root.join("config", "paperclip_fedora.yml").to_s
87
+ end
88
+
89
+ def config?
90
+ File.file? config_file
91
+ end
92
+
78
93
  private
79
94
 
80
95
  def find_credentials config
@@ -18,6 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
 
21
- s.add_runtime_dependency "paperclip"
22
- s.add_runtime_dependency "rubydora"
21
+ s.add_dependency "paperclip"
22
+ s.add_dependency "rubydora"
23
+ s.add_development_dependency "rake", "0.9.2"
23
24
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paperclip-fedora
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-09-14 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: paperclip
16
- requirement: &2152403360 !ruby/object:Gem::Requirement
16
+ requirement: &2152442460 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2152403360
24
+ version_requirements: *2152442460
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rubydora
27
- requirement: &2152402940 !ruby/object:Gem::Requirement
27
+ requirement: &2152441900 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,18 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *2152402940
35
+ version_requirements: *2152441900
36
+ - !ruby/object:Gem::Dependency
37
+ name: rake
38
+ requirement: &2152441060 !ruby/object:Gem::Requirement
39
+ none: false
40
+ requirements:
41
+ - - =
42
+ - !ruby/object:Gem::Version
43
+ version: 0.9.2
44
+ type: :development
45
+ prerelease: false
46
+ version_requirements: *2152441060
36
47
  description: Adds Fedora Commons storage support for the Paperclip gem.
37
48
  email:
38
49
  - jaredsartin@gmail.com
@@ -46,6 +57,8 @@ files:
46
57
  - Rakefile
47
58
  - config/paperclip_fedora.yml
48
59
  - lib/paperclip-fedora.rb
60
+ - lib/paperclip-fedora/railtie.rb
61
+ - lib/paperclip-fedora/rake.rb
49
62
  - lib/paperclip-fedora/version.rb
50
63
  - paperclip-fedora.gemspec
51
64
  homepage: https://github.com/JaredSartin/paperclip-fedora