ramdo 0.1.5 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6a6424874ecbe3c5be1da09054fc1adf4d186230
4
- data.tar.gz: de9d567c62f1c6e104495628ce6adecb72025ae2
3
+ metadata.gz: 439c86b3e38f8b1f40e9669235ce8cfdac5cbf75
4
+ data.tar.gz: 4276f58ea837d01171f2444d65f4974d7c9f2c64
5
5
  SHA512:
6
- metadata.gz: 061cab69777aa9e3f51c492228489bd3ab6cd8a2498a8d53f80cb4830de741b8e5b2cb646fa1c5b8ffe496c756dff3597b3a8d32390ddfadb089ee25fc22258c
7
- data.tar.gz: 0d5877d07af152732ea459d2878ab2968fbb02f1b217014587b561f0db898fe9d5a92a5ea86e83800fc5b30cd1a729371a78841bfafccb141e0741b99e03babb
6
+ metadata.gz: c1e42d45451100eb6f3f85ea1f8d3f97cb79b49f7f24fdf3516314ef32f6a00aaaae2b5bc91f501bbba118ccd5a7d2ab2d06fff3eddd1c6fc1daaa30103adb7f
7
+ data.tar.gz: 0aa2463d9946781fdcb147acb5e4e45f8a40983b2309216765ad94dfae5347a395bb81c66c57751305d4107743f8b176ac225b12d0189948fb3e5722582679b3
data/.gitignore CHANGED
@@ -13,6 +13,7 @@
13
13
  /test/tmp/
14
14
  /test/version_tmp/
15
15
  /tmp/
16
+ Gemfile.lock
16
17
 
17
18
  # Used by dotenv library to load environment variables.
18
19
  # .env
@@ -93,4 +94,4 @@ Temporary Items
93
94
  .directory
94
95
 
95
96
  # Linux trash folder which might appear on any partition or disk
96
- .Trash-*
97
+ .Trash-*
data/.gitlab-ci.yml ADDED
@@ -0,0 +1,21 @@
1
+ before_script:
2
+ - ruby -v
3
+ - which ruby
4
+ - gem install bundler --no-ri --no-rdoc
5
+ - bundle install --jobs $(nproc) "${FLAGS[@]}"
6
+
7
+ stages:
8
+ - test
9
+ - deploy
10
+
11
+
12
+ rspec_job:
13
+ stage: test
14
+ script:
15
+ - bundle exec rspec
16
+
17
+ deploy_job:
18
+ stage: deploy
19
+ script:
20
+ - bundle exec rake build
21
+ - bundle exec gem inabox -g https://gems.aisler.net
@@ -0,0 +1,15 @@
1
+ module Ramdo
2
+ class Cleaner
3
+ def self.clean_up(disk)
4
+ Dir.entries(disk.path).each do |dir|
5
+ if dir =~ Store::NAME_PATTERN
6
+ uuid = Regexp.last_match[1]
7
+ timestamp = Regexp.last_match[2].to_i
8
+ if (timestamp + DEFAULTS[:ttl]) < Time.now.utc.to_i
9
+ FileUtils.rm_r File.join(disk.path, dir), :force => true
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,5 @@
1
+ module Ramdo
2
+ class OSNotSupportedException < StandardError; end
3
+ class NotEnoughFreeRamException < StandardError; end
4
+ class GeneralRamdiskException < StandardError; end
5
+ end
@@ -22,7 +22,7 @@ module Ramdo
22
22
  end
23
23
  end
24
24
 
25
- disks.map { |d| Instance.new(d) if d.has_key? :is_ram_disk }.compact
25
+ disks.map { |d| Instance.new(self, d) if d.has_key? :is_ram_disk }.compact
26
26
  end
27
27
 
28
28
  def create(size)
@@ -7,7 +7,7 @@ module Ramdo
7
7
  elsif RUBY_PLATFORM =~ /darwin/
8
8
  DarwinWrapper.new
9
9
  else
10
- raise OSNotSupportedException.new("Could not find Ramdisk wrapper for #{RUBY_PLATFORM}")
10
+ GenericWrapper.new
11
11
  end
12
12
  end
13
13
  end
@@ -0,0 +1,41 @@
1
+ module Ramdo
2
+ module Ramdisk
3
+ class GenericWrapper
4
+ def initialize
5
+ @tmp_path = '/tmp'
6
+ raise GeneralRamdiskException.new("tmp path not found") unless @tmp_path && Dir.exist?(@tmp_path)
7
+ end
8
+
9
+ def list
10
+ disks = []
11
+ Dir.glob(@tmp_path + '/*').each do |dir|
12
+ if dir.split(File::SEPARATOR).last =~ Instance::NAME_PATTERN
13
+ disks << Instance.new(self, path: dir, device: @tmp_path, size: Filesize.from("1 GB"))
14
+ end
15
+ end
16
+
17
+ disks
18
+ end
19
+
20
+ def create(size)
21
+ # Create new directory as dedicated space
22
+ path = [@tmp_path, Instance.generate_name].join('/')
23
+ Dir.mkdir(path)
24
+
25
+ # Receive all disk and select just created one
26
+ list().select { |disk| disk.path == path }.first
27
+ end
28
+
29
+ def destroy(instance)
30
+ return false unless Dir.exist? instance.path
31
+ FileUtils.rm_r instance.path, :force => true
32
+ end
33
+
34
+ private
35
+ def enough_ram?(size)
36
+ # As the generic wrapper does not use RAM always return true
37
+ true
38
+ end
39
+ end
40
+ end
41
+ end
@@ -1,23 +1,23 @@
1
1
  module Ramdo
2
2
  module Ramdisk
3
3
  class Instance
4
- NAME_PATTERN = /ramdo_[A-Za-z0-9_-]+$/
4
+ NAME_PATTERN = /^ramdo_disk_([a-z0-9]+)$/
5
5
 
6
6
  def self.generate_name
7
- "ramdo_#{SecureRandom.uuid}"
7
+ "ramdo_disk_#{SecureRandom.hex(4)}"
8
8
  end
9
9
 
10
10
  attr_accessor :device, :path, :size
11
11
 
12
- def initialize(info = {})
12
+ def initialize(wrapper, info = {})
13
+ @wrapper = wrapper
13
14
  @device = info[:device]
14
15
  @path = info[:path]
15
16
  @size = info[:size]
16
17
  end
17
18
 
18
19
  def destroy!
19
- wrapper = Ramdisk::Factory.get
20
- wrapper.destroy self
20
+ @wrapper.destroy self
21
21
  end
22
22
  end
23
23
  end
@@ -12,8 +12,8 @@ module Ramdo
12
12
  def list
13
13
  disks = []
14
14
  Dir.glob(@shm_path + '/*').each do |dir|
15
- if dir =~ Instance::NAME_PATTERN
16
- disks << Instance.new(path: dir, device: @shm_path, size: Filesize.from("1 GB"))
15
+ if dir.split(File::SEPARATOR).last =~ Instance::NAME_PATTERN
16
+ disks << Instance.new(self, path: dir, device: @shm_path, size: Filesize.from("1 GB"))
17
17
  end
18
18
  end
19
19
 
@@ -34,9 +34,7 @@ module Ramdo
34
34
 
35
35
  def destroy(instance)
36
36
  return false unless File.exist? instance.path
37
-
38
- Dir.glob(instance.path + "/*").each { |file| File.delete(file) if File.file? file }
39
- Dir.rmdir(instance.path)
37
+ FileUtils.rm_r instance.path, :force => true
40
38
  end
41
39
 
42
40
  private
data/lib/ramdo/store.rb CHANGED
@@ -1,22 +1,32 @@
1
1
  module Ramdo
2
2
  class Store
3
- attr_reader :file, :uuid
3
+ NAME_PATTERN = /^ramdo_([a-z0-9]+)_([0-9]+)$/
4
+
5
+ attr_reader :file, :dir
4
6
 
5
7
  def initialize(opts = {})
6
8
  wrapper = Ramdisk::Factory.get
7
9
  list = wrapper.list
10
+ disk = nil
8
11
  if list.length <= 0
9
12
  # Create a new Ramdisk
10
- @disk = wrapper.create(DEFAULT_RAMDISK_SIZE)
13
+ disk = wrapper.create(DEFAULTS[:disk_size])
11
14
  else
12
15
  # Use one which is large enough
13
- list.each { |disk| @disk = disk if disk.size >= Filesize.from(DEFAULT_RAMDISK_SIZE) }
14
- @disk = wrapper.create(DEFAULT_RAMDISK_SIZE) if @disk.nil?
16
+ list.each { |d| disk = d if d.size >= Filesize.from(DEFAULTS[:disk_size]) }
17
+ disk = wrapper.create(DEFAULTS[:disk_size]) if disk.nil?
15
18
  end
16
19
 
17
- @uuid = SecureRandom.uuid
18
- @filename = "ramdo_#{@uuid}#{opts[:extension]}"
19
- @file = [@disk.path, @filename].join('/') # No Windows support!
20
+ # Every time a new store is created we check if any other store is out of date
21
+ Cleaner.clean_up(disk)
22
+
23
+ ext = opts[:extension] ? opts[:extension].sub('.', '') : 'bin'
24
+ uuid = SecureRandom.hex(4)
25
+ timestamp = Time.now.utc.to_i
26
+ @dir = File.join(disk.path, "ramdo_#{uuid}_#{timestamp}")
27
+ @file = File.join(@dir, "store.#{ext}")
28
+
29
+ Dir.mkdir(@dir)
20
30
  end
21
31
 
22
32
  def data=(data)
@@ -28,7 +38,8 @@ module Ramdo
28
38
  end
29
39
 
30
40
  def truncate
31
- File.delete(@file)
41
+ return if @dir.empty? || @dir == File::SEPARATOR # Safety net
42
+ FileUtils.rm_r @dir, :force => true
32
43
  end
33
44
  end
34
45
  end
data/lib/ramdo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Ramdo
2
- VERSION = '0.1.5'
2
+ VERSION = '0.2.1'
3
3
  end
data/lib/ramdo.rb CHANGED
@@ -2,15 +2,21 @@ require 'cocaine'
2
2
  require 'pp'
3
3
  require 'filesize'
4
4
  require 'securerandom'
5
+ require 'fileutils'
5
6
 
6
7
  require 'ramdo/version'
7
- require 'ramdo/ramdisk/exceptions'
8
+ require 'ramdo/exceptions'
8
9
  require 'ramdo/ramdisk/factory'
9
10
  require 'ramdo/ramdisk/instance'
10
11
  require 'ramdo/ramdisk/darwin_wrapper'
11
12
  require 'ramdo/ramdisk/linux_wrapper'
13
+ require 'ramdo/ramdisk/generic_wrapper'
12
14
  require 'ramdo/store'
15
+ require 'ramdo/cleaner'
13
16
 
14
17
  module Ramdo
15
- DEFAULT_RAMDISK_SIZE = '100mb'
18
+ DEFAULTS = {
19
+ disk_size: '100mb',
20
+ ttl: 120 # In seconds
21
+ }
16
22
  end
data/ramdo.gemspec CHANGED
@@ -26,4 +26,5 @@ Gem::Specification.new do |spec|
26
26
  spec.add_development_dependency "rspec"
27
27
  spec.add_development_dependency "geminabox"
28
28
  spec.add_development_dependency "yard"
29
+ spec.add_development_dependency "timecop"
29
30
  end
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+
3
+ include Ramdo
4
+ describe Cleaner do
5
+ it 'should clean up all stores' do
6
+ stores = []
7
+ 10.times { stores << Store.new }
8
+
9
+ Timecop.freeze(Time.local(2100)) do
10
+ stores.each { |store| expect(Dir.exist?(store.dir)).to be_truthy }
11
+
12
+ new_store = Store.new
13
+ stores.each { |store| expect(Dir.exist?(store.dir)).to be_falsey }
14
+ end
15
+ end
16
+
17
+ end
@@ -0,0 +1,67 @@
1
+ require 'spec_helper'
2
+
3
+ include Ramdo
4
+ describe Ramdisk::DarwinWrapper, if: os?(/darwin/) do
5
+ before(:each) do
6
+ wrapper = Ramdisk::DarwinWrapper.new
7
+ wrapper.list.each do |disk|
8
+ disk.destroy!
9
+ end
10
+ end
11
+
12
+
13
+ it 'should check if a ramdisk already exists' do
14
+ wrapper = Ramdisk::DarwinWrapper.new
15
+ disks = wrapper.list
16
+ expect(disks).to be_an(Array)
17
+ expect(disks.length).to be_a(Integer)
18
+ expect(disks.length).to be(0)
19
+ end
20
+
21
+ it 'should check if enough RAM space is free' do
22
+ wrapper = Ramdisk::DarwinWrapper.new
23
+ expect(wrapper.send(:enough_ram?, '100 MB')).to be_truthy
24
+ expect(wrapper.send(:enough_ram?, '100 GB')).to be_falsey
25
+ end
26
+
27
+ it 'should create a new RAM disk and save a file to it' do
28
+ size = '100 MB'
29
+
30
+ wrapper = Ramdisk::DarwinWrapper.new
31
+ disk = wrapper.create(size)
32
+
33
+ expect(disk).to be_an(Ramdisk::Instance)
34
+ expect { IO.write("#{disk.path}/test.bin", IO.read('/dev/urandom', 100000)) }.not_to raise_error
35
+ end
36
+
37
+ it 'should remove a RAM disk' do
38
+ wrapper = Ramdisk::DarwinWrapper.new
39
+ disk = wrapper.create('100 MB')
40
+
41
+ count = wrapper.list.length
42
+ expect(disk.destroy!).to be_truthy
43
+ expect(disk.destroy!).to be_falsey # Should not work another time
44
+
45
+ expect(wrapper.list.length).to be(count - 1)
46
+ end
47
+
48
+ it 'should list all available RAM disks' do
49
+ wrapper = Ramdisk::DarwinWrapper.new
50
+ disk = wrapper.create('100 MB')
51
+
52
+ list = wrapper.list
53
+ expect(list.length).to eq(1)
54
+ expect(list.first.device).not_to be_empty
55
+ expect(File.exist?(list.first.device)).to be_truthy
56
+ expect(Dir.exist?(list.first.path)).to be_truthy
57
+
58
+ disk = wrapper.create('200 MB')
59
+
60
+ list = wrapper.list
61
+ expect(list.length).to eq(2)
62
+ expect(list.last.device).not_to be_empty
63
+ expect(File.exist?(list.last.device)).to be_truthy
64
+ expect(Dir.exist?(list.last.path)).to be_truthy
65
+ end
66
+
67
+ end
@@ -0,0 +1,62 @@
1
+ require 'spec_helper'
2
+
3
+ include Ramdo
4
+ describe Ramdisk::GenericWrapper, focus: true do
5
+ before(:each) do
6
+ wrapper = Ramdisk::GenericWrapper.new
7
+ wrapper.list.each do |disk|
8
+ disk.destroy!
9
+ end
10
+ end
11
+
12
+
13
+ it 'should check if a ramdisk already exists' do
14
+ wrapper = Ramdisk::GenericWrapper.new
15
+ disks = wrapper.list
16
+ expect(disks).to be_an(Array)
17
+ expect(disks.length).to be_a(Integer)
18
+ expect(disks.length).to be(0)
19
+ end
20
+
21
+ it 'should create a new disk and save a file to it' do
22
+ size = '100 MB'
23
+
24
+ wrapper = Ramdisk::GenericWrapper.new
25
+ disk = wrapper.create(size)
26
+
27
+ expect(disk).to be_an(Ramdisk::Instance)
28
+ expect { IO.write("#{disk.path}/test.bin", IO.read('/dev/urandom', 100000)) }.not_to raise_error
29
+ end
30
+
31
+ it 'should remove a RAM disk' do
32
+ wrapper = Ramdisk::GenericWrapper.new
33
+ disk = wrapper.create('100 MB')
34
+
35
+ count = wrapper.list.length
36
+ expect(disk.destroy!).to be_truthy
37
+ expect(disk.destroy!).to be_falsey # Should not work another time
38
+
39
+ expect(wrapper.list.length).to be(count - 1)
40
+ end
41
+
42
+ it 'should list all available RAM disks' do
43
+ wrapper = Ramdisk::GenericWrapper.new
44
+ disk = wrapper.create('100 MB')
45
+
46
+ list = wrapper.list
47
+ expect(list.length).to eq(1)
48
+ expect(list.first.device).not_to be_empty
49
+ expect(File.exist?(list.first.device)).to be_truthy
50
+ expect(Dir.exist?(list.first.path)).to be_truthy
51
+
52
+ disk = wrapper.create('200 MB')
53
+
54
+ list = wrapper.list
55
+ expect(list.length).to eq(2)
56
+ expect(list.last.device).not_to be_empty
57
+ expect(File.exist?(list.last.device)).to be_truthy
58
+ expect(Dir.exist?(list.last.path)).to be_truthy
59
+
60
+ end
61
+
62
+ end
@@ -0,0 +1,67 @@
1
+ require 'spec_helper'
2
+
3
+ include Ramdo
4
+ describe Ramdisk::LinuxWrapper, if: os?(/linux/) do
5
+ before(:each) do
6
+ wrapper = Ramdisk::LinuxWrapper.new
7
+ wrapper.list.each do |disk|
8
+ disk.destroy!
9
+ end
10
+ end
11
+
12
+
13
+ it 'should check if a ramdisk already exists' do
14
+ wrapper = Ramdisk::LinuxWrapper.new
15
+ disks = wrapper.list
16
+ expect(disks).to be_an(Array)
17
+ expect(disks.length).to be_a(Integer)
18
+ expect(disks.length).to be(0)
19
+ end
20
+
21
+ it 'should check if enough RAM space is free' do
22
+ wrapper = Ramdisk::LinuxWrapper.new
23
+ expect(wrapper.send(:enough_ram?, '100 MB')).to be_truthy
24
+ expect(wrapper.send(:enough_ram?, '100 GB')).to be_falsey
25
+ end
26
+
27
+ it 'should create a new RAM disk and save a file to it' do
28
+ size = '100 MB'
29
+
30
+ wrapper = Ramdisk::LinuxWrapper.new
31
+ disk = wrapper.create(size)
32
+
33
+ expect(disk).to be_an(Ramdisk::Instance)
34
+ expect { IO.write("#{disk.path}/test.bin", IO.read('/dev/urandom', 100000)) }.not_to raise_error
35
+ end
36
+
37
+ it 'should remove a RAM disk' do
38
+ wrapper = Ramdisk::LinuxWrapper.new
39
+ disk = wrapper.create('100 MB')
40
+
41
+ count = wrapper.list.length
42
+ expect(disk.destroy!).to be_truthy
43
+ expect(disk.destroy!).to be_falsey # Should not work another time
44
+
45
+ expect(wrapper.list.length).to be(count - 1)
46
+ end
47
+
48
+ it 'should list all available RAM disks' do
49
+ wrapper = Ramdisk::LinuxWrapper.new
50
+ disk = wrapper.create('100 MB')
51
+
52
+ list = wrapper.list
53
+ expect(list.length).to eq(1)
54
+ expect(list.first.device).not_to be_empty
55
+ expect(File.exist?(list.first.device)).to be_truthy
56
+ expect(Dir.exist?(list.first.path)).to be_truthy
57
+
58
+ disk = wrapper.create('200 MB')
59
+
60
+ list = wrapper.list
61
+ expect(list.length).to eq(2)
62
+ expect(list.last.device).not_to be_empty
63
+ expect(File.exist?(list.last.device)).to be_truthy
64
+ expect(Dir.exist?(list.last.path)).to be_truthy
65
+ end
66
+
67
+ end
@@ -2,64 +2,15 @@ require 'spec_helper'
2
2
 
3
3
  include Ramdo
4
4
  describe Ramdisk::Factory do
5
- after(:each) do
6
- wrapper = Ramdisk::Factory.get
7
- wrapper.list.each do |disk|
8
- disk.destroy!
9
- end
10
- end
11
-
12
-
13
- it 'should check if a ramdisk already exists' do
14
- wrapper = Ramdisk::Factory.get
15
- disks = wrapper.list
16
- expect(disks).to be_an(Array)
17
- expect(disks.length).to be(0)
18
- end
19
-
20
- it 'should check if enough RAM space is free' do
21
- wrapper = Ramdisk::Factory.get
22
- expect(wrapper.send(:enough_ram?, '100 MB')).to be_truthy
23
- expect(wrapper.send(:enough_ram?, '100 GB')).to be_falsey
24
- end
25
-
26
- it 'should create a new RAM disk and save a file to it', focus: true do
27
- size = '100 MB'
28
5
 
6
+ it 'should receive wrapper for the current OS' do
29
7
  wrapper = Ramdisk::Factory.get
30
- disk = wrapper.create(size)
31
8
 
32
- expect(disk).to be_an(Ramdisk::Instance)
33
- expect { IO.write("#{disk.path}/test.bin", IO.read('/dev/urandom', 100000)) }.not_to raise_error
34
- end
35
-
36
- it 'should remove a RAM disk' do
37
- wrapper = Ramdisk::Factory.get
38
- disk = wrapper.create('100 MB')
39
-
40
- count = wrapper.list.length
41
- expect(disk.destroy!).to be_truthy
42
- expect(disk.destroy!).to be_falsey # Should not work another time
43
-
44
- expect(wrapper.list.length).to be(count - 1)
9
+ if RUBY_PLATFORM =~ /linux/
10
+ expect(wrapper).to be_a(Ramdisk::LinuxWrapper)
11
+ elsif RUBY_PLATFORM =~ /darwin/
12
+ expect(wrapper).to be_a(Ramdisk::DarwinWrapper)
13
+ end
45
14
  end
46
15
 
47
- it 'should list all available RAM disks' do
48
- wrapper = Ramdisk::Factory.get
49
- disk = wrapper.create('100 MB')
50
-
51
- list = wrapper.list
52
- expect(list.length).to eq(1)
53
- expect(list.first.device).not_to be_empty
54
- expect(File.exist?(list.first.device)).to be_truthy
55
- expect(Dir.exist?(list.first.path)).to be_truthy
56
-
57
- disk = wrapper.create('200 MB')
58
-
59
- list = wrapper.list
60
- expect(list.length).to eq(2)
61
- expect(list.last.device).not_to be_empty
62
- expect(File.exist?(list.last.device)).to be_truthy
63
- expect(Dir.exist?(list.last.path)).to be_truthy
64
- end
65
16
  end
data/spec/spec_helper.rb CHANGED
@@ -1 +1,6 @@
1
- require 'ramdo'
1
+ require 'ramdo'
2
+ require 'timecop'
3
+
4
+ def os?(os)
5
+ RUBY_PLATFORM =~ os
6
+ end
data/spec/store_spec.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  include Ramdo
4
- describe Store, focus: true do
4
+ describe Store do
5
5
  after(:all) do
6
6
  wrapper = Ramdisk::Factory.get
7
7
  wrapper.list.each do |disk|
@@ -41,6 +41,7 @@ describe Store, focus: true do
41
41
  store.data = 'Test'
42
42
  store.truncate
43
43
  expect(File.exist?(store.file)).to be_falsey
44
+ expect(Dir.exist?(store.dir)).to be_falsey
44
45
  end
45
46
 
46
47
  it 'should use existing RAM disk if available' do
@@ -54,4 +55,13 @@ describe Store, focus: true do
54
55
  expect(wrapper.list.length).to eq(1)
55
56
  end
56
57
 
58
+ it 'should allow to define a specific file extension' do
59
+ store = Store.new(extension: 'png')
60
+ store.data = 'make me sexy'
61
+ expect(File.extname(store.file)).to eq('.png')
62
+
63
+ store = Store.new(extension: '.png')
64
+ store.data = 'make me sexy'
65
+ expect(File.extname(store.file)).to eq('.png')
66
+ end
57
67
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ramdo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Franken
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-29 00:00:00.000000000 Z
11
+ date: 2016-08-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cocaine
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: timecop
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
111
125
  description: Fast temporary store powered by RAM disks
112
126
  email:
113
127
  - p.franken@aisler.net
@@ -116,20 +130,26 @@ extensions: []
116
130
  extra_rdoc_files: []
117
131
  files:
118
132
  - ".gitignore"
133
+ - ".gitlab-ci.yml"
119
134
  - Gemfile
120
- - Gemfile.lock
121
135
  - LICENSE.txt
122
136
  - README.md
123
137
  - Rakefile
124
138
  - lib/ramdo.rb
139
+ - lib/ramdo/cleaner.rb
140
+ - lib/ramdo/exceptions.rb
125
141
  - lib/ramdo/ramdisk/darwin_wrapper.rb
126
- - lib/ramdo/ramdisk/exceptions.rb
127
142
  - lib/ramdo/ramdisk/factory.rb
143
+ - lib/ramdo/ramdisk/generic_wrapper.rb
128
144
  - lib/ramdo/ramdisk/instance.rb
129
145
  - lib/ramdo/ramdisk/linux_wrapper.rb
130
146
  - lib/ramdo/store.rb
131
147
  - lib/ramdo/version.rb
132
148
  - ramdo.gemspec
149
+ - spec/cleaner_spec.rb
150
+ - spec/darwin_wrapper_spec.rb
151
+ - spec/generic_wrapper_spec.rb
152
+ - spec/linux_wrapper_spec.rb
133
153
  - spec/ramdisk_factory_spec.rb
134
154
  - spec/spec_helper.rb
135
155
  - spec/store_spec.rb
@@ -159,6 +179,10 @@ signing_key:
159
179
  specification_version: 4
160
180
  summary: Fast temporary store powered by RAM disks
161
181
  test_files:
182
+ - spec/cleaner_spec.rb
183
+ - spec/darwin_wrapper_spec.rb
184
+ - spec/generic_wrapper_spec.rb
185
+ - spec/linux_wrapper_spec.rb
162
186
  - spec/ramdisk_factory_spec.rb
163
187
  - spec/spec_helper.rb
164
188
  - spec/store_spec.rb
data/Gemfile.lock DELETED
@@ -1,76 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- ramdo (0.1.1)
5
- cocaine
6
- filesize
7
-
8
- GEM
9
- remote: https://rubygems.org/
10
- specs:
11
- activesupport (5.0.0)
12
- concurrent-ruby (~> 1.0, >= 1.0.2)
13
- i18n (~> 0.7)
14
- minitest (~> 5.1)
15
- tzinfo (~> 1.1)
16
- builder (3.2.2)
17
- climate_control (0.0.3)
18
- activesupport (>= 3.0)
19
- cocaine (0.5.8)
20
- climate_control (>= 0.0.3, < 1.0)
21
- concurrent-ruby (1.0.2)
22
- diff-lcs (1.2.5)
23
- faraday (0.9.2)
24
- multipart-post (>= 1.2, < 3)
25
- filesize (0.1.1)
26
- geminabox (0.12.4)
27
- builder
28
- faraday
29
- httpclient (>= 2.2.7)
30
- nesty
31
- sinatra (>= 1.2.7)
32
- httpclient (2.7.0.1)
33
- i18n (0.7.0)
34
- minitest (5.9.0)
35
- multipart-post (2.0.0)
36
- nesty (1.0.2)
37
- rack (1.6.4)
38
- rack-protection (1.5.3)
39
- rack
40
- rake (10.4.2)
41
- rspec (3.3.0)
42
- rspec-core (~> 3.3.0)
43
- rspec-expectations (~> 3.3.0)
44
- rspec-mocks (~> 3.3.0)
45
- rspec-core (3.3.2)
46
- rspec-support (~> 3.3.0)
47
- rspec-expectations (3.3.1)
48
- diff-lcs (>= 1.2.0, < 2.0)
49
- rspec-support (~> 3.3.0)
50
- rspec-mocks (3.3.2)
51
- diff-lcs (>= 1.2.0, < 2.0)
52
- rspec-support (~> 3.3.0)
53
- rspec-support (3.3.0)
54
- sinatra (1.4.5)
55
- rack (~> 1.4)
56
- rack-protection (~> 1.4)
57
- tilt (~> 1.3, >= 1.3.4)
58
- thread_safe (0.3.5)
59
- tilt (1.4.1)
60
- tzinfo (1.2.2)
61
- thread_safe (~> 0.1)
62
- yard (0.8.7.6)
63
-
64
- PLATFORMS
65
- ruby
66
-
67
- DEPENDENCIES
68
- bundler
69
- geminabox
70
- rake
71
- ramdo!
72
- rspec
73
- yard
74
-
75
- BUNDLED WITH
76
- 1.12.5
@@ -1,7 +0,0 @@
1
- module Ramdo
2
- module Ramdisk
3
- class OSNotSupportedException < StandardError; end
4
- class NotEnoughFreeRamException < StandardError; end
5
- class GeneralRamdiskException < StandardError; end
6
- end
7
- end