qpush 0.1.6 → 0.1.7

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
  SHA1:
3
- metadata.gz: 30fcd80a97393fd4b5d20192e0f90b6b44865eb8
4
- data.tar.gz: fd5f9ac7220513fb70bd722725e5c7e72fa2ceb3
3
+ metadata.gz: 4dd90aa194184f401041a0aacdd7f9a2d63615b2
4
+ data.tar.gz: e4215be59cbe6de524c3b29f9afed23be68c70a5
5
5
  SHA512:
6
- metadata.gz: f3c877c1e9e2412d7529d414f6c3282c560ef40f016ea4b293d54cc3485acd6921c980bf92fd1a4e4f8a07278bbe2406fafa18080c39847956164e8f412863e4
7
- data.tar.gz: 9fd65ca2be6e3d24641781a02f04d4c53fba13890430d24286a7383e71a55a78c9ee8ba9bd0111aa5f2a76809cce065d280f0df9577af38303af45941a90b797
6
+ metadata.gz: 30432e4910a60a4d82acfec8ba806ba8b1671ac9de0bdad3feff9fb573e87417a90182f51325c1994befb35f6bf709b179e6b2d4ee846088d2c285c8c6238180
7
+ data.tar.gz: 19de3dfc8b141ce765894b0614994a5db361b268d566e96696373f6223a4e9590a53bcbddea94e04109ec03328f6319e62e4a69461416d1485df3e35c54156da
data/.codeclimate.yml ADDED
@@ -0,0 +1,26 @@
1
+ engines:
2
+ rubocop:
3
+ enabled: true
4
+ checks:
5
+ Rubocop/Metrics/ClassLength:
6
+ enabled: false
7
+ golint:
8
+ enabled: true
9
+ eslint:
10
+ enabled: true
11
+ csslint:
12
+ enabled: true
13
+ duplication:
14
+ enabled: true
15
+ config:
16
+ languages:
17
+ - ruby
18
+ #mass_threshold: 30
19
+ ratings:
20
+ paths:
21
+ - lib/**
22
+ - "**.rb"
23
+ exclude_paths:
24
+ - lib/qpush/web/public/**/*
25
+ - lib/qpush/server/queue.rb
26
+ - test/**/*
data/README.md CHANGED
@@ -21,7 +21,7 @@ And then execute:
21
21
 
22
22
  Or install it yourself as:
23
23
 
24
- $ gem install job_que
24
+ $ gem install qpush
25
25
 
26
26
  ## Usage
27
27
 
@@ -1,12 +1,14 @@
1
1
  module QPush
2
2
  module Server
3
3
  module JobRegister
4
- def included(base)
5
- _register_job(base)
6
- end
7
-
8
- def _register_job(base)
9
- Server.redis { |c| c.sadd(QPush::Base::KEY + ':jobs', base.name) }
4
+ class << self
5
+ def included(base)
6
+ _register_job(base)
7
+ end
8
+
9
+ def _register_job(base)
10
+ Server.redis { |c| c.sadd(QPush::Base::KEY + ':jobs', base.name) }
11
+ end
10
12
  end
11
13
  end
12
14
 
data/lib/qpush/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  module QPush
2
- VERSION = '0.1.6'
2
+ VERSION = '0.1.7'
3
3
  CODENAME = 'Sun Soaked Salamander'
4
4
  end
data/lib/qpush/web.rb CHANGED
@@ -1,9 +1,13 @@
1
+ # External
2
+ require 'sinatra/base'
3
+
1
4
  # Base
2
5
  require 'qpush/base'
3
6
 
4
7
  # Web Base
5
- require 'sinatra/base'
8
+ require 'qpush/web/config'
6
9
  require 'qpush/web/get'
10
+ require 'qpush/web/redis'
7
11
  require 'qpush/web/server'
8
12
 
9
13
  # Web Apis
@@ -17,7 +17,7 @@ module QPush
17
17
 
18
18
  def retrieve_delays
19
19
  @jobs = Web.redis do |conn|
20
- conn.zrange(QPush.keys.delay, 0, -1, with_scores: true)
20
+ conn.zrange(Web.keys.delay, 0, -1, with_scores: true)
21
21
  end
22
22
  end
23
23
 
@@ -3,8 +3,8 @@ module QPush
3
3
  module Apis
4
4
  class Heart
5
5
  def call
6
- heart = Web.redis { |c| c.get(QPush.keys.heart) }
7
- { status: !heart.nil?, namespace: QPush.config.namespace }
6
+ heart = Web.redis { |c| c.get(Web.keys.heart) }
7
+ { status: !heart.nil?, namespace: 'default' }
8
8
  end
9
9
  end
10
10
  end
@@ -15,7 +15,7 @@ module QPush
15
15
 
16
16
  def retrieve_jobs
17
17
  @jobs = Web.redis do |conn|
18
- conn.lrange(QPush.keys.history, 0, 10)
18
+ conn.lrange(Web.keys.history, 0, 10)
19
19
  end
20
20
  end
21
21
 
@@ -14,7 +14,7 @@ module QPush
14
14
  private
15
15
 
16
16
  def retrieve_jobs
17
- Web.redis { |c| @jobs = c.smembers("#{QPush.keys.jobs}") }
17
+ Web.redis { |c| @jobs = c.smembers(QPush::Base::KEY + ':jobs') }
18
18
  end
19
19
 
20
20
  def update_jobs
@@ -17,7 +17,7 @@ module QPush
17
17
 
18
18
  def retrieve_morgue
19
19
  @morgue = Web.redis do |conn|
20
- conn.lrange(QPush.keys.morgue, @start, @start + @count)
20
+ conn.lrange(Web.keys.morgue, @start, @start + @count)
21
21
  end
22
22
  end
23
23
 
@@ -17,13 +17,13 @@ module QPush
17
17
  private
18
18
 
19
19
  def retrieve_delay
20
- delays = @conn.zrangebyscore(QPush.keys.delay, @score, @score)
20
+ delays = @conn.zrangebyscore(Web.keys.delay, @score, @score)
21
21
  delays.each
22
22
 
23
23
  # Performs a watch on our delay list
24
24
  #
25
25
  def watch_delay
26
- @conn.watch(QPush.keys.delay) do
26
+ @conn.watch(Web.keys.delay) do
27
27
  yield if block_given?
28
28
  end
29
29
  end
@@ -18,7 +18,7 @@ module QPush
18
18
 
19
19
  def retrieve_jobs
20
20
  @jobs = Web.redis do |conn|
21
- conn.zrange(QPush.keys.delay, 0, -1, with_scores: true)
21
+ conn.zrange(Web.keys.delay, 0, -1, with_scores: true)
22
22
  end
23
23
  end
24
24
 
@@ -29,7 +29,7 @@ module QPush
29
29
 
30
30
  def retrieve_stats
31
31
  @stats = Web.redis do |conn|
32
- conn.hgetall(QPush.keys.stats)
32
+ conn.hgetall(Web.keys.stats)
33
33
  end
34
34
  end
35
35
 
@@ -49,7 +49,7 @@ module QPush
49
49
 
50
50
  def calculate_current
51
51
  Web.redis do |c|
52
- QPush.keys.perform_lists.collect { |list| c.llen(list) }.reduce(:+)
52
+ Web.keys.perform_list.collect { |list| c.llen(list) }.reduce(:+)
53
53
  end
54
54
  end
55
55
  end
@@ -6,6 +6,10 @@ module QPush
6
6
  def config
7
7
  @config ||= Config.new
8
8
  end
9
+
10
+ def keys
11
+ @keys ||= QPush::Web::RedisKeys.new
12
+ end
9
13
  end
10
14
 
11
15
  class Config < QPush::Base::Config; end
@@ -12,5 +12,37 @@ module QPush
12
12
  Web.config.redis_url)
13
13
  end
14
14
  end
15
+
16
+ class RedisKeys
17
+ KEYS = [:delay,
18
+ :queue,
19
+ :perform,
20
+ :stats,
21
+ :heart,
22
+ :crons,
23
+ :history,
24
+ :morgue]
25
+
26
+ attr_reader :delay, :queue, :perform, :stats, :heart,
27
+ :crons, :history, :morgue
28
+
29
+ def initialize(options = {})
30
+ @namespace = options[:namespace] || 'default'
31
+ @priorities = options[:priorities] || 5
32
+ build_keyspaces
33
+ end
34
+
35
+ def perform_list
36
+ @perform_list ||= (1..@priorities).collect { |num| "#{perform}:#{num}" }
37
+ end
38
+
39
+ private
40
+
41
+ def build_keyspaces
42
+ KEYS.each do |key|
43
+ instance_variable_set("@#{key}", "#{QPush::Base::KEY}:#{@namespace}:#{key}")
44
+ end
45
+ end
46
+ end
15
47
  end
16
48
  end
@@ -1,18 +1,18 @@
1
1
  module QPush
2
2
  module Web
3
3
  class Server < Sinatra::Base
4
- #set :public_folder, File.expand_path(File.dirname(__FILE__)) + '/public'
4
+ set :public_folder, File.expand_path(File.dirname(__FILE__)) + '/public'
5
5
 
6
6
  before do
7
- #pass if request.path_info == '/'
7
+ pass if request.path_info == '/'
8
8
  content_type :json
9
9
  headers 'Access-Control-Allow-Origin' => '*',
10
10
  'Access-Control-Allow-Methods' => ['OPTIONS', 'GET', 'POST']
11
11
  end
12
12
 
13
- #get '/' do
14
- #File.read(File.join(settings.public_folder, 'index.html'))
15
- #end
13
+ get '/' do
14
+ File.read(File.join(settings.public_folder, 'index.html'))
15
+ end
16
16
 
17
17
  get '/stats' do
18
18
  Get.stats
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: qpush
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas Sweeting
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-04 00:00:00.000000000 Z
11
+ date: 2016-08-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: redis
@@ -188,6 +188,7 @@ extensions: []
188
188
  extra_rdoc_files: []
189
189
  files:
190
190
  - ".byebug_history"
191
+ - ".codeclimate.yml"
191
192
  - ".gitignore"
192
193
  - ".travis.yml"
193
194
  - CODE_OF_CONDUCT.md