marlin 0.0.3 → 0.1.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7eecf7d5e8d757bdd9fee9fde9f1764787fb59409e3d946909e684f8f4d0f45e
4
- data.tar.gz: 0c462c3c5036e0f7a1b2e043c5b824ee9d6c6a1e23667a72c9c5fefd44ded29e
3
+ metadata.gz: 569d7a74ce9249a33efec6fb82adb78c9e689150a553c7ba9e04a500d1a6a6bf
4
+ data.tar.gz: e4f7ea000a94cde446b18b7a44a039f27b3eaf82f5fbbd34ca6335eb2bd96c0b
5
5
  SHA512:
6
- metadata.gz: 7d5c377eafd90d55fedd78300f05b28406ddca37d5268477a594167115ba6e94867cf4a283aa481e6790e1b0f2dc3740e9fc53d59b53f2408bf73369be20a907
7
- data.tar.gz: caf3d97df462a360252d4c2f2f974f3f755dd78df76ecae20a1d06436fcc545ff814f4a7c44b8a600f143f8b40f7df6bd977da594fd051d95cf55fa0e025e216
6
+ metadata.gz: 0d0a95107d8e6847ca9a6c229bdb01b29bd3653f51790b9e979c9b2c5f15d186f84bea7e210aea5a6f05a3f767769b173cc8d39446c1d0e5793c087e5f701a70
7
+ data.tar.gz: a288eb29236ce04f1f8ca242f6fc1d7f8dbdb85c910ef10cdba272a7a84399248d0d9f542f5b76c6de5d0cf2b5e58a437703c861809b5d04384c6b1306f5f12a
data/Gemfile CHANGED
@@ -1,5 +1,3 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- ruby '2.6.1'
4
-
5
3
  gemspec
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- marlin (0.0.2)
4
+ marlin (0.1.0)
5
5
  foreman (~> 0.85.0)
6
6
  redis (~> 4.1.0)
7
7
  sinatra (~> 2.0.5)
data/Procfile CHANGED
@@ -1 +1 @@
1
- web: bundle exec rackup config.ru -p 3000
1
+ web: bundle exec rackup config.ru -p $PORT
@@ -0,0 +1,14 @@
1
+ module Marlin
2
+ class Action
3
+ def initialize(key, persister = Marlin::Persisters::RedisStorage.new)
4
+ @key = key
5
+ @persister = persister
6
+ end
7
+
8
+ protected
9
+
10
+ def call
11
+ raise NotImplementedError
12
+ end
13
+ end
14
+ end
@@ -1,6 +1,6 @@
1
1
  module Marlin
2
2
  module Actions
3
- class DeleteKey < Base
3
+ class DeleteKey < Marlin::Action
4
4
  def call
5
5
  @persister.delete(@key)
6
6
  end
@@ -1,6 +1,6 @@
1
1
  module Marlin
2
2
  module Actions
3
- class ReadKey < Base
3
+ class ReadKey < Marlin::Action
4
4
  def call
5
5
  @persister.read(@key)
6
6
  end
@@ -1,6 +1,6 @@
1
1
  module Marlin
2
2
  module Actions
3
- class SaveKey < Base
3
+ class SaveKey < Marlin::Action
4
4
  def call(value)
5
5
  @persister.write(@key, value)
6
6
  end
@@ -1,4 +1,6 @@
1
1
  AUTOLOAD_DIRS = %w(
2
+ action.rb
3
+ persister.rb
2
4
  actions/*.rb
3
5
  persisters/*.rb
4
6
  )
@@ -0,0 +1,13 @@
1
+ module Marlin
2
+ class Persister
3
+ protected
4
+
5
+ def read(key)
6
+ raise NotImplementedError
7
+ end
8
+
9
+ def write(key, value)
10
+ raise NotImplementedError
11
+ end
12
+ end
13
+ end
@@ -1,6 +1,6 @@
1
1
  module Marlin
2
2
  module Persisters
3
- class Memory < Base
3
+ class Memory < Marlin::Persister
4
4
  @@storage = {}
5
5
 
6
6
  def read(key)
@@ -1,6 +1,8 @@
1
+ require "redis"
2
+
1
3
  module Marlin
2
4
  module Persisters
3
- class Redis < Base
5
+ class RedisStorage < Marlin::Persister
4
6
  def read(key)
5
7
  redis.get(key.to_s)
6
8
  end
@@ -16,7 +18,7 @@ module Marlin
16
18
  private
17
19
 
18
20
  def redis
19
- @redis ||= redis = Redis.new(url: ENV["REDIS_URL"])
21
+ @redis ||= Redis.new(url: ENV["REDIS_URL"])
20
22
  end
21
23
  end
22
24
  end
@@ -1,3 +1,3 @@
1
1
  module Marlin
2
- VERSION = "0.0.3".freeze
2
+ VERSION = "0.1.0".freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marlin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ilya Kovalenko
@@ -67,16 +67,15 @@ files:
67
67
  - README.md
68
68
  - config.ru
69
69
  - lib/marlin.rb
70
- - lib/marlin/actions/base.rb
70
+ - lib/marlin/action.rb
71
71
  - lib/marlin/actions/delete_key.rb
72
72
  - lib/marlin/actions/read_key.rb
73
- - lib/marlin/actions/replicate_key.rb
74
73
  - lib/marlin/actions/save_key.rb
75
74
  - lib/marlin/app.rb
76
75
  - lib/marlin/config/initializers/autoloader.rb
77
- - lib/marlin/persisters/base.rb
76
+ - lib/marlin/persister.rb
78
77
  - lib/marlin/persisters/memory.rb
79
- - lib/marlin/persisters/redis.rb
78
+ - lib/marlin/persisters/redis_storage.rb
80
79
  - lib/marlin/version.rb
81
80
  - marlin.gemspec
82
81
  homepage: https://github.com/ilyacoding/marlin
@@ -1,16 +0,0 @@
1
- module Marlin
2
- module Actions
3
- class Base
4
- def initialize(key, persister = Marlin::Persisters::Redis.new)
5
- @key = key
6
- @persister = persister
7
- end
8
-
9
- protected
10
-
11
- def call
12
- raise NotImplementedError
13
- end
14
- end
15
- end
16
- end
@@ -1,9 +0,0 @@
1
- module Marlin
2
- module Actions
3
- class ReplicateKey < Base
4
- def call
5
- # TODO
6
- end
7
- end
8
- end
9
- end
@@ -1,15 +0,0 @@
1
- module Marlin
2
- module Persisters
3
- class Base
4
- protected
5
-
6
- def read(key)
7
- raise NotImplementedError
8
- end
9
-
10
- def write(key, value)
11
- raise NotImplementedError
12
- end
13
- end
14
- end
15
- end