totoro 0.1.1 → 0.1.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: 1b855c03103c0f44f0314a886e47df738bdf4c30adbd3992100d58ff2d53ce2b
4
- data.tar.gz: d42f989505b5bf77827be0bc760cdf6a076680476eb76b06feb110d73a400a01
3
+ metadata.gz: f8a3d545d257843e061c07ced9defa1da81b9152046433b6595abb7745f2cf92
4
+ data.tar.gz: c80f3d65b173af4cc8fbc52c264de04afce72379c509b557083066a25e09e2f5
5
5
  SHA512:
6
- metadata.gz: 0ac98c3d5ea689d892ccab975c825e4cb04858508a868f54b7eb872a6395517f9fe303f72488ffa0244e3e155ede9818afdafac562012535c24ea4fe61cf61e2
7
- data.tar.gz: cd5380df341c14f7aac2844e348b6623db4e010917c0ccca46a1ad6b97deff902d6fda6f00c6eeed6870f4a18f7cc33cd7cc5eafad8cbd443d3b43cba19119e4
6
+ metadata.gz: 24d012083e63c863e7651d6268cf7372ea6fb79bd253fb622321a90cc68d0ae66239f5c1c0014cb2a885dff512ff903f568453d4487ad5971e57d009532abd1b
7
+ data.tar.gz: 5cfd29b9ce643f998d70b4cb791bf2d62d061771cf906e8d429dd2511b3d2bb65e13be1c45723e733f353a31e60225207a966c703678e785885f826c72430ae2
data/bin/totoro CHANGED
@@ -11,11 +11,12 @@ require File.join(root, 'config', 'environment')
11
11
  Rails.logger = logger = Logger.new STDOUT
12
12
  logger.level = Logger.const_get(Rails.configuration.log_level.to_s.upcase)
13
13
 
14
- worker_class = ARGV[0]
14
+ worker_name = ARGV[0]
15
15
  logger.info 'Start to subscribe to Rabbitmq'
16
- worker = Totoro::Config.get_worker worker_class
17
- Totoro::Queue.subscribe(worker_class) do |delivery_info, metadata, payload|
18
- logger.info "#{worker_class} Received: #{payload}"
16
+ worker = Totoro::Config.get_worker worker_name
17
+ worker_queue = worker.class::QUEUE
18
+ Totoro::Queue.subscribe(worker_queue) do |delivery_info, metadata, payload|
19
+ logger.info "#{worker_queue} Received: #{payload}"
19
20
  payload_hash = JSON.parse(payload).with_indifferent_access
20
21
  worker.process payload_hash, metadata, delivery_info
21
22
  end
@@ -0,0 +1,10 @@
1
+ module Totoro
2
+ class ConfigGenerator < Rails::Generators::Base
3
+ source_root File.expand_path('../templates', __FILE__)
4
+ desc "Generate totoro config file"
5
+
6
+ def copy_config_file
7
+ template 'totoro.yml', File.join('config', 'totoro.yml')
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,21 @@
1
+ default: &default
2
+ connect:
3
+ host: rabbitmq
4
+ port: 5672
5
+ user: app
6
+ pass: app
7
+
8
+ queue:
9
+ # example_queue:
10
+ # name: real.queue.name
11
+ # durable: true
12
+
13
+
14
+ development:
15
+ <<: *default
16
+
17
+ test:
18
+ <<: *default
19
+
20
+ production:
21
+ <<: *default
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Worker
4
+ class <%= name.camelcase %>
5
+ QUEUE = '<%= queue || name.underscore %>'
6
+ def process(payload, _metadata, _delivery_info)
7
+ # worker process
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,13 @@
1
+ module Totoro
2
+ class WorkerGenerator < Rails::Generators::Base
3
+ desc "Generate totoro worker file"
4
+
5
+ source_root File.expand_path('../templates', __FILE__)
6
+ argument :name, type: :string
7
+ argument :queue, type: :string, required: false
8
+
9
+ def copy_config_file
10
+ template 'worker.rb', File.join('app/models/worker', "#{name.underscore}.rb")
11
+ end
12
+ end
13
+ end
@@ -2,7 +2,7 @@ module Totoro
2
2
  class Config
3
3
  class <<self
4
4
  def data
5
- @data ||= Rails.application.config_for(:amqp).with_indifferent_access
5
+ @data ||= Rails.application.config_for(:totoro).with_indifferent_access
6
6
  end
7
7
 
8
8
  def reset_data
@@ -1,3 +1,3 @@
1
1
  module Totoro
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: totoro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ShuHui18
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-27 00:00:00.000000000 Z
11
+ date: 2018-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -68,6 +68,10 @@ files:
68
68
  - bin/console
69
69
  - bin/setup
70
70
  - bin/totoro
71
+ - lib/generators/totoro/config_generator.rb
72
+ - lib/generators/totoro/templates/totoro.yml
73
+ - lib/generators/totoro/templates/worker.rb
74
+ - lib/generators/totoro/worker_generator.rb
71
75
  - lib/totoro.rb
72
76
  - lib/totoro/config.rb
73
77
  - lib/totoro/queue.rb