turn Coquelicot into a gem
authorLunar <lunar@anargeek.net>
Fri, 9 Mar 2012 16:24:17 +0000 (17:24 +0100)
committerLunar <lunar@anargeek.net>
Thu, 14 Mar 2013 09:12:08 +0000 (10:12 +0100)
.gitignore
Gemfile
Gemfile.lock
Rakefile
coquelicot.gemspec [new file with mode: 0644]
lib/coquelicot.rb
lib/coquelicot/version.rb [new file with mode: 0644]
spec/spec_helper.rb

index 05b6e4a..85aef83 100644 (file)
@@ -1,3 +1,7 @@
+*.gem
+.bundle
+Gemfile.lock
+pkg/*
 files/
 locale/
 tmp/restart.txt
diff --git a/Gemfile b/Gemfile
index e200348..c80ee36 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -1,30 +1,3 @@
 source "http://rubygems.org"
-gem "sinatra", "~>1.3"
-gem "sinatra-contrib", "~>1.3"
-gem "rack", "~>1.1"
-gem "haml", "~>3.1"
-gem "haml-magic-translations",
-  :git    => 'https://dl.poivron.org/new/haml-magic-translations.git',
-  :branch => 'coquelicot'
-gem "sass"
-gem "maruku"
-gem "fast_gettext"
-gem "lockfile", "~>1.4.3"
-gem "json"
-gem "rainbows"
-gem "multipart-parser"
-gem "upr"
 
-group :test do
-  gem "rspec", "~>2.0"
-  gem "hpricot", "~>0.8.2"
-  gem "timecop", "~>0.3.5"
-  gem "rack-test", "~>0.5.7"
-  gem "capybara"
-  gem "active_support"
-end
-
-group :development do
-  gem "gettext", "~>2.1.0"
-  gem "thin"
-end
+gemspec
index 7d5844d..08b353f 100644 (file)
@@ -1,10 +1,20 @@
-GIT
-  remote: https://dl.poivron.org/new/haml-magic-translations.git
-  revision: 7cbe28a138157a4c2d4635699f9949fed7bb8e30
-  branch: coquelicot
+PATH
+  remote: .
   specs:
-    haml-magic-translations (0.3.coquelicot1)
-      haml (>= 3.1.0)
+    coquelicot (0.9.dev)
+      fast_gettext
+      haml (~> 3.1)
+      haml-magic-translations (~> 0.3)
+      json
+      lockfile
+      maruku
+      multipart-parser
+      rack (~> 1.1)
+      rainbows
+      sass
+      sinatra (~> 1.3)
+      sinatra-contrib (~> 1.3)
+      upr
 
 GEM
   remote: http://rubygems.org/
@@ -22,7 +32,6 @@ GEM
       xpath (~> 0.1.4)
     childprocess (0.3.1)
       ffi (~> 1.0.6)
-    daemons (1.1.8)
     diff-lcs (1.1.3)
     eventmachine (0.12.10)
     fast_gettext (0.6.4)
@@ -30,6 +39,8 @@ GEM
     gettext (2.1.0)
       locale (>= 2.0.5)
     haml (3.1.4)
+    haml-magic-translations (0.3.1)
+      haml (>= 3.1.0)
     hpricot (0.8.6)
     json (1.6.5)
     kgio (2.7.2)
@@ -79,10 +90,6 @@ GEM
       sinatra (~> 1.3.0)
       tilt (~> 1.3)
     syntax (1.0.0)
-    thin (1.3.1)
-      daemons (>= 1.0.9)
-      eventmachine (>= 0.12.6)
-      rack (>= 1.0.0)
     tilt (1.3.3)
     timecop (0.3.5)
     unicorn (4.2.0)
@@ -101,22 +108,9 @@ PLATFORMS
 DEPENDENCIES
   active_support
   capybara
-  fast_gettext
-  gettext (~> 2.1.0)
-  haml (~> 3.1)
-  haml-magic-translations!
-  hpricot (~> 0.8.2)
-  json
-  lockfile (~> 1.4.3)
-  maruku
-  multipart-parser
-  rack (~> 1.1)
-  rack-test (~> 0.5.7)
-  rainbows
-  rspec (~> 2.0)
-  sass
-  sinatra (~> 1.3)
-  sinatra-contrib (~> 1.3)
-  thin
-  timecop (~> 0.3.5)
-  upr
+  coquelicot!
+  gettext
+  hpricot
+  rack-test
+  rspec
+  timecop
index 633c81a..7d1f62d 100644 (file)
--- a/Rakefile
+++ b/Rakefile
 
 require 'rubygems'
 require 'bundler'
+Bundler.require(:default, :development)
 Bundler.setup
 
+require 'bundler/gem_tasks'
 require 'haml/magic_translations/tasks'
 
-$:.unshift File.join(File.dirname(__FILE__), 'lib')
-
 Haml::MagicTranslations::Tasks::UpdatePoFiles.new(:updatepo) do |t|
  t.text_domain = 'coquelicot'
  t.files = Dir.glob("views/**/*.{rb,haml}") << "lib/coquelicot/app.rb"
diff --git a/coquelicot.gemspec b/coquelicot.gemspec
new file mode 100644 (file)
index 0000000..b81d583
--- /dev/null
@@ -0,0 +1,66 @@
+# Coquelicot: "one-click" file sharing with a focus on users' privacy.
+# Copyright © 2010-2012 potager.org <jardiniers@potager.org>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+$:.push File.expand_path("../lib", __FILE__)
+require "coquelicot/version"
+
+Gem::Specification.new do |s|
+  s.name        = 'coquelicot'
+  s.version     = Coquelicot::VERSION
+  s.authors     = ['potager.org', 'mh / immerda.ch']
+  s.email       = ['jardiniers@potager.org']
+  s.homepage    = 'https://coquelicot.potager.org/'
+  s.summary     = %q{"one-click" file sharing web application focusing on privacy}
+  s.description = <<-DESCRIPTION.gsub(/^ */, '')
+    Coquelicot is a "one-click" file sharing web application with a specific
+    focus on protecting users' privacy.
+
+    Basic principle: users can upload a file to the server, in return they
+    get a unique URL which can be shared with others in order to download
+    the file.
+
+    Coquelicot aims to protect, to some extent, users and system
+    administrators from disclosure of the files exchanged from passive and
+    not so active attackers.
+  DESCRIPTION
+
+  s.files         = `git ls-files`.split("\n")
+  s.test_files    = `git ls-files -- {test,spec,features}/*`.split("\n")
+  s.executables   = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
+  s.require_paths = ['lib']
+
+  s.add_development_dependency 'rspec'
+  s.add_development_dependency 'hpricot'
+  s.add_development_dependency 'timecop'
+  s.add_development_dependency 'rack-test'
+  s.add_development_dependency 'capybara'
+  s.add_development_dependency 'active_support'
+  s.add_development_dependency 'gettext'
+
+  s.add_runtime_dependency 'sinatra', '~>1.3'
+  s.add_runtime_dependency 'sinatra-contrib', '~>1.3'
+  s.add_runtime_dependency 'rack', '~>1.1'
+  s.add_runtime_dependency 'haml', '~>3.1'
+  s.add_runtime_dependency 'haml-magic-translations', '~>0.3'
+  s.add_runtime_dependency 'sass'
+  s.add_runtime_dependency 'maruku'
+  s.add_runtime_dependency 'fast_gettext'
+  s.add_runtime_dependency 'lockfile'
+  s.add_runtime_dependency 'json'
+  s.add_runtime_dependency 'rainbows'
+  s.add_runtime_dependency 'multipart-parser'
+  s.add_runtime_dependency 'upr'
+end
index aed8dcb..ef8cf6f 100644 (file)
@@ -15,6 +15,7 @@
 # You should have received a copy of the GNU Affero General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+require 'coquelicot/version'
 require 'coquelicot/auth'
 require 'coquelicot/stored_file'
 require 'coquelicot/depot'
diff --git a/lib/coquelicot/version.rb b/lib/coquelicot/version.rb
new file mode 100644 (file)
index 0000000..36fda16
--- /dev/null
@@ -0,0 +1,20 @@
+# Coquelicot: "one-click" file sharing with a focus on users' privacy.
+# Copyright © 2010-2012 potager.org <jardiniers@potager.org>
+#           © 2011 mh / immerda.ch <mh+coquelicot@immerda.ch>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+module Coquelicot
+  VERSION = '0.9.dev'
+end
index 087905b..9e30e28 100644 (file)
@@ -18,6 +18,7 @@ ENV['RACK_ENV'] = 'test'
 
 require 'rubygems'
 require 'bundler'
+Bundler.require(:default, :development)
 Bundler.setup
 
 require 'rack/test'