Get back to use Sinatra settings
[coquelicot.git] / lib / coquelicot.rb
index 2f199ef..93e6401 100644 (file)
@@ -15,18 +15,6 @@ module Coquelicot
       StoredFile.new(path, pass)
     end
 
-    def each
-      # output content
-      yield @initial_content
-      @initial_content = nil
-      until (buf = @file.read(BUFFER_LEN)).nil?
-        yield @cipher.update(buf)
-      end
-      yield @cipher.final
-      @cipher.reset
-      @cipher = nil
-    end
-
     def created_at
       Time.at(@meta['Created-at'])
     end
@@ -39,21 +27,6 @@ module Coquelicot
       @meta['One-time-only'] && @meta['One-time-only'] == 'true'
     end
 
-    def exclusively(&block)
-      old_path = @path
-      begin
-        new_path = "#{old_path}.#{Coquelicot.gen_random_base32(16)}"
-      end while File.exists? new_path
-      File.rename(old_path, new_path)
-      @path = new_path
-      File.open(old_path, 'w').close
-      begin
-        yield
-      ensure
-        File.rename(new_path, old_path)
-      end
-    end
-
     def self.create(src, pass, meta)
       salt = gen_salt
       clear_meta = { "Coquelicot" => COQUELICOT_VERSION,
@@ -163,19 +136,9 @@ module Coquelicot
       @initial_content = block[1]
       @meta.merge! YAML.load(yaml)
     end
-
-    def close
-      @cipher.reset unless @cipher.nil?
-      @file.close
-    end
   end
 
   class Depot
-    LOCKFILE_OPTIONS = { :timeout => 60,
-                         :max_age => 8,
-                         :refresh => 2,
-                         :debug   => false }
-
     attr_reader :path
 
     def initialize(path)
@@ -227,6 +190,11 @@ module Coquelicot
 
   private
 
+    LOCKFILE_OPTIONS = { :timeout => 60,
+                         :max_age => 8,
+                         :refresh => 2,
+                         :debug   => false }
+
     def lockfile
       Lockfile.new "#{@path}/.lock", LOCKFILE_OPTIONS
     end
@@ -298,34 +266,10 @@ module Coquelicot
     end
   end
 
-  DEFAULT_SETTINGS = { :default_expire => 60,
-                       :gone_period => 10080,
-                       :filename_length => 20,
-                       :random_pass_length => 16,
-                    }
-
   # Like RFC 4648 (Base32)
   FILENAME_CHARS = %w(a b c d e f g h i j k l m n o p q r s t u v w x y z 2 3 4 5 6 7)
 
   class << self
-
-    def setup(settings)
-      @settings = DEFAULT_SETTINGS.merge(settings)
-      @settings.each_key do |k|
-        @settings.class.send(:define_method, k) { self[k] }
-      end
-      @depot = nil
-      @settings
-    end
-
-    def settings
-      @settings ||= setup({})
-    end
-
-    def depot
-      @depot ||= Depot.new(settings.depot_path)
-    end
-
     def gen_random_base32(length)
       name = ''
       OpenSSL::Random::random_bytes(length).each_byte do |i|