marlin 0.0.1 → 0.0.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c61439809c2833828005c4a06f2555a37d11b32b7f1ff774c0d84c8ded38ddd1
4
- data.tar.gz: 23250078aebabfd03124f67e1c94f777383234d6af1a57820588013ce11bb6e5
3
+ metadata.gz: 629eab82d7720a35b67a6cd8ec3809422fba883e542d8af3b46428e141a9e757
4
+ data.tar.gz: a133d2e968d85d6eff2bb76ca6f637d4efb348cd65c47a8338f436b565a430ff
5
5
  SHA512:
6
- metadata.gz: 72a48e4edfbb831036e6ee02df39bbe21c9ebb874ba323bb1c904a4fb32b346cdc8df546d5e44029863ddc184df55c3c88123ec01f7352e0c710ddd63da2604f
7
- data.tar.gz: b55de0b89fa19e1c737e11e08eed974e54cd8795894a8b3421d8bf1ceccd8f30a20285d5f09273d4eee954d326f8ff2af1805fc5d58de5a51bcee59d410cff07
6
+ metadata.gz: 9203782125b1b1eab354ad34fa43fc085e27593dfdb2b2172d5f5d274a60126095e6d9fa997c9dc05ed5a8ffcbfd268fb355db4d6092b84876050fc3e6a3fecb
7
+ data.tar.gz: 01fbb2ed8a1083205e9e886439d5754109bac99a387b0f3789b0efbcce4c150c89cebb367b3eb12ca328b25c5b57bc4669a39d843f318942e5471678b18c6df6
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- marlin (0.0.1)
4
+ marlin (0.0.2)
5
5
  foreman (~> 0.85.0)
6
+ redis (~> 4.1.0)
6
7
  sinatra (~> 2.0.5)
7
8
 
8
9
  GEM
@@ -14,6 +15,7 @@ GEM
14
15
  rack (2.0.6)
15
16
  rack-protection (2.0.5)
16
17
  rack
18
+ redis (4.1.0)
17
19
  sinatra (2.0.5)
18
20
  mustermann (~> 1.0)
19
21
  rack (~> 2.0)
@@ -29,4 +31,4 @@ DEPENDENCIES
29
31
  marlin!
30
32
 
31
33
  BUNDLED WITH
32
- 1.17.2
34
+ 1.17.3
data/lib/marlin/app.rb CHANGED
@@ -7,7 +7,7 @@ module Marlin
7
7
  KEYS_ROUTE = "/keys/:key"
8
8
 
9
9
  get "/" do
10
- "Marlin Gem Homepage"
10
+ "Marlin Key-Value Storage"
11
11
  end
12
12
 
13
13
  get "/ping" do
@@ -15,7 +15,7 @@ module Marlin
15
15
  end
16
16
 
17
17
  put KEYS_ROUTE do
18
- Marlin::Actions::SaveKey.new(params[:key]).call(params[:value])
18
+ Marlin::Actions::SaveKey.new(params[:key]).call(request.body.read)
19
19
  end
20
20
 
21
21
  get KEYS_ROUTE do
@@ -2,15 +2,21 @@ module Marlin
2
2
  module Persisters
3
3
  class Redis < Base
4
4
  def read(key)
5
- raise NotImplementedError
5
+ redis.get(key.to_s)
6
6
  end
7
7
 
8
8
  def write(key, value)
9
- raise NotImplementedError
9
+ redis.set(key.to_s, value)
10
10
  end
11
11
 
12
12
  def delete(key)
13
- raise NotImplementedError
13
+ redis.del(key.to_s)
14
+ end
15
+
16
+ private
17
+
18
+ def redis
19
+ @redis ||= redis = Redis.new(url: ENV["REDIS_URL"])
14
20
  end
15
21
  end
16
22
  end
@@ -1,3 +1,3 @@
1
1
  module Marlin
2
- VERSION = "0.0.1".freeze
2
+ VERSION = "0.0.2".freeze
3
3
  end
data/marlin.gemspec CHANGED
@@ -11,11 +11,12 @@ Gem::Specification.new do |s|
11
11
  s.email = ['to@ilyakovalenko.com']
12
12
  s.homepage = 'https://github.com/ilyacoding/marlin'
13
13
  s.summary = 'Marlin'
14
- s.description = 'Marlin'
14
+ s.description = 'Marlin is highly available key-value storage. Supports both in memory storage and redis.'
15
15
 
16
16
  s.files = `git ls-files`.split($/)
17
17
  s.test_files = s.files.grep(%r{^(test|spec|features)/})
18
18
 
19
19
  s.add_dependency 'sinatra', '~> 2.0.5'
20
20
  s.add_dependency 'foreman', '~> 0.85.0'
21
+ s.add_dependency 'redis', '~> 4.1.0'
21
22
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marlin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ilya Kovalenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-03-18 00:00:00.000000000 Z
11
+ date: 2019-03-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sinatra
@@ -38,7 +38,22 @@ dependencies:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
40
  version: 0.85.0
41
- description: Marlin
41
+ - !ruby/object:Gem::Dependency
42
+ name: redis
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: 4.1.0
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: 4.1.0
55
+ description: Marlin is highly available key-value storage. Supports both in memory
56
+ storage and redis.
42
57
  email:
43
58
  - to@ilyakovalenko.com
44
59
  executables: []