Class: AsyncRequestReply::Config
- Inherits:
-
Object
- Object
- AsyncRequestReply::Config
- Defined in:
- lib/async_request_reply/config.rb
Constant Summary collapse
- DEFAULTS =
{ repository_adapter: :redis, redis_url_conection: 'redis://localhost:6379', async_engine: :sidekiq, 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
71 72 73 74 75 76 77 78 79 |
# File 'lib/async_request_reply/config.rb', line 71 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
44 45 46 47 48 49 |
# File 'lib/async_request_reply/config.rb', line 44 def async_engine return AsyncRequestReply::WorkersEngine::Async if config.async_engine == :async return AsyncRequestReply::WorkersEngine::Sidekiq if config.async_engine == :sidekiq config.async_engine end |
#async_engine=(value) ⇒ Object
51 52 53 |
# File 'lib/async_request_reply/config.rb', line 51 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
63 64 65 |
# File 'lib/async_request_reply/config.rb', line 63 def logger config.logger end |
#message_packer_factories ⇒ Object
67 68 69 |
# File 'lib/async_request_reply/config.rb', line 67 def @@message_packer_factories end |
#redis_url_conection ⇒ Object
40 41 42 |
# File 'lib/async_request_reply/config.rb', line 40 def redis_url_conection config.redis_url_conection end |
#redis_url_conection=(value) ⇒ Object
59 60 61 |
# File 'lib/async_request_reply/config.rb', line 59 def redis_url_conection=(value) config.redis_url_conection = value end |
#repository_adapter ⇒ Object
35 36 37 38 |
# File 'lib/async_request_reply/config.rb', line 35 def repository_adapter return AsyncRequestReply::RepositoryAdapters::RedisRepositoryAdapter if config.repository_adapter == :redis config.repository_adapter end |
#repository_adapter=(value) ⇒ Object
55 56 57 |
# File 'lib/async_request_reply/config.rb', line 55 def repository_adapter=(value) config.repository_adapter = value end |