Class: AsyncRequestReply::Config
- Inherits:
-
Object
- Object
- AsyncRequestReply::Config
- Defined in:
- lib/async_request_reply/config.rb
Constant Summary collapse
- DEFAULTS =
{ repository_adapter: :io, redis_url_conection: 'redis://localhost:6379', async_engine: :simple_thread_pool, logger: Logger.new(STDOUT) }
- @@message_packer_factories =
[]
Instance Attribute Summary collapse
-
#config ⇒ Object
Returns the value of attribute config.
Class Method Summary collapse
Instance Method Summary collapse
- #add_message_pack_factory ⇒ Object
- #async_engine ⇒ Object
- #async_engine=(value) ⇒ Object
- #configure {|_self| ... } ⇒ Object
-
#initialize ⇒ Config
constructor
A new instance of Config.
- #logger ⇒ Object
- #message_packer_factories ⇒ Object
- #redis_url_conection ⇒ Object
- #redis_url_conection=(value) ⇒ Object
- #repository_adapter ⇒ Object
- #repository_adapter=(value) ⇒ Object
Constructor Details
#initialize ⇒ Config
Returns a new instance of Config.
18 19 20 21 22 23 24 25 |
# File 'lib/async_request_reply/config.rb', line 18 def initialize @config ||= OpenStruct.new config.repository_adapter = DEFAULTS[:repository_adapter] config.redis_url_conection = DEFAULTS[:redis_url_conection] config.async_engine = DEFAULTS[:async_engine] config.logger = DEFAULTS[:logger] super end |
Instance Attribute Details
#config ⇒ Object
Returns the value of attribute config.
16 17 18 |
# File 'lib/async_request_reply/config.rb', line 16 def config @config end |
Class Method Details
.instance ⇒ Object
27 28 29 |
# File 'lib/async_request_reply/config.rb', line 27 def self.instance @instance ||= new end |
Instance Method Details
#add_message_pack_factory ⇒ Object
72 73 74 75 76 77 78 79 80 |
# File 'lib/async_request_reply/config.rb', line 72 def factory = yield({first_byte: nil, klass: nil, packer: nil, unpacker: nil}) factory[:klass].class_eval do def as_json self end end @@message_packer_factories.push(factory) end |
#async_engine ⇒ Object
45 46 47 48 49 50 |
# File 'lib/async_request_reply/config.rb', line 45 def async_engine return AsyncRequestReply::WorkersEngine::SimpleThreadPool if config.async_engine == :simple_thread_pool return AsyncRequestReply::WorkersEngine::Sidekiq if config.async_engine == :sidekiq config.async_engine end |
#async_engine=(value) ⇒ Object
52 53 54 |
# File 'lib/async_request_reply/config.rb', line 52 def async_engine=(value) config.async_engine = value end |
#configure {|_self| ... } ⇒ Object
31 32 33 |
# File 'lib/async_request_reply/config.rb', line 31 def configure yield(self) end |
#logger ⇒ Object
64 65 66 |
# File 'lib/async_request_reply/config.rb', line 64 def logger config.logger end |
#message_packer_factories ⇒ Object
68 69 70 |
# File 'lib/async_request_reply/config.rb', line 68 def @@message_packer_factories end |
#redis_url_conection ⇒ Object
41 42 43 |
# File 'lib/async_request_reply/config.rb', line 41 def redis_url_conection config.redis_url_conection end |
#redis_url_conection=(value) ⇒ Object
60 61 62 |
# File 'lib/async_request_reply/config.rb', line 60 def redis_url_conection=(value) config.redis_url_conection = value end |
#repository_adapter ⇒ Object
35 36 37 38 39 |
# File 'lib/async_request_reply/config.rb', line 35 def repository_adapter return AsyncRequestReply::RepositoryAdapters::RedisRepositoryAdapter if config.repository_adapter == :redis return AsyncRequestReply::RepositoryAdapters::IORepositoryAdapter if config.repository_adapter == :io config.repository_adapter end |
#repository_adapter=(value) ⇒ Object
56 57 58 |
# File 'lib/async_request_reply/config.rb', line 56 def repository_adapter=(value) config.repository_adapter = value end |