Module: LittleMonster

Includes:
Core
Defined in:
lib/little_monster.rb,
lib/little_monster/config.rb,
lib/little_monster/worker.rb,
lib/little_monster/version.rb,
lib/little_monster/generators/cli.rb,
lib/little_monster/generators/conf_gen.rb,
lib/little_monster/generators/generate.rb

Defined Under Namespace

Modules: Core, RSpec Classes: Cli, ConfGen, Config, Generate, Worker

Constant Summary collapse

VERSION =
'0.1.16'.freeze

Class Method Summary collapse

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *args, &block) ⇒ Object (private)



61
62
63
64
# File 'lib/little_monster.rb', line 61

def method_missing(method, *args, &block)
  return @@config.public_send(method) if @@config.respond_to? method
  super method, *args, &block
end

Class Method Details

.configure {|@@config| ... } ⇒ Object

Yields:

  • (@@config)


34
35
36
37
38
# File 'lib/little_monster.rb', line 34

def configure
  yield @@config
  # it calls update_attributes so it can refresh and concurrency
  Worker.update_attributes
end

.default_config_valuesObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/little_monster.rb', line 40

def default_config_values
  {
    api_url: 'http://little_monster_api_url.com/',
    worker_concurrency: 200,
    worker_queue: nil,
    request_timeout: 3,
    default_request_retries: 4,
    default_request_retry_wait: 1,
    task_requests_retries: 4,
    task_requests_retry_wait: 1,
    job_requests_retries: 4,
    job_requests_retry_wait: 1,
    heartbeat_execution_interval: 10,
    default_job_retries: -1
  }
end

.disable_requests?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/little_monster.rb', line 30

def disable_requests?
  %w(development test).include?(@@env)
end

.envObject



26
27
28
# File 'lib/little_monster.rb', line 26

def env
  @@env
end

.initObject



12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/little_monster.rb', line 12

def init
  $stdout.sync = true

  @@config = Config.new default_config_values

  @@env = ActiveSupport::StringInquirer.new(ENV['LITTLE_MONSTER_ENV'] || ENV['RUBY_ENV'] || 'development')

  @@logger = @@env.test? ? Logger.new('/dev/null') : Toiler.logger

  @@logger.formatter = proc do |severity, datetime, _progname, msg|
    "[severity:#{severity}][origin_datetime:#{datetime.strftime('%Y-%m-%d %H:%M:%S:%L %z')}] : #{msg}\n"
  end
end

.loggerObject



57
58
59
# File 'lib/little_monster.rb', line 57

def logger
  @@logger
end

.method_missing(method, *args, &block) ⇒ Object



61
62
63
64
# File 'lib/little_monster.rb', line 61

def method_missing(method, *args, &block)
  return @@config.public_send(method) if @@config.respond_to? method
  super method, *args, &block
end