slnky 0.1.6 → 0.2.0

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: 0f65c525ee1c0e5b8353167e9c4743b689a2b170
4
- data.tar.gz: 2085c6eca48786416dd0dab2cdd6016bcbfec5c0
3
+ metadata.gz: eb1a2cf60af39bc1f8527438296e6960c6c5f258
4
+ data.tar.gz: 86dc87e48e935e746ab38192df0ff11bc30b3e37
5
5
  SHA512:
6
- metadata.gz: 13541107935b35a65da3ef4bc3c1a191a718281b063e280361f647f26a8d428e4356f64dcceb3099334a8b323ecc1d86d2971babe20ee72e30288ef6e660e23f
7
- data.tar.gz: c3ea6524cf2cf2436f0c1923d84b28a550323a7622857ae42df1d6c8d4586666f28509b4c97a79c8f2c88e01a3a3d332f15d48fdf665e824d3a83dd917c6ecc7
6
+ metadata.gz: 75311b244e94a31513dd13f0a827d42190c83d8b03aa682cc3d9fd4a60dac761771b8305a9f2b0fcb7661d14e1e79ef7e47273800e50285bc3114b9fcbfe62d8
7
+ data.tar.gz: 2cfd7f0987911b410db2c331003f1353dacbc6242547426073ace4e181f41b126a5bac58c1d84cf67a68c3015c7d07d785eab5ca8fac51b6910d1ea998a71e4b
@@ -33,4 +33,11 @@ end
33
33
 
34
34
  namespace :deploy do
35
35
  after :publishing, 'slnky:restart'
36
+
37
+ desc "push deploy.env to service's shared_path on the server"
38
+ task :dotenv do
39
+ on roles :app do
40
+ upload! 'deploy.env', "#{shared_path}/.env"
41
+ end
42
+ end
36
43
  end
@@ -1,5 +1,6 @@
1
1
  require 'erb'
2
2
  require 'tilt'
3
+ require 'find'
3
4
 
4
5
  module Slnky
5
6
  module Generator
@@ -20,10 +21,12 @@ module Slnky
20
21
  FileUtils.cp_r(@template, @dir)
21
22
  puts "#{@dir}:"
22
23
  # process templates
23
- Dir["#{@dir}/**/*"].each do |f|
24
+ Find.find(@dir).each do |f|
24
25
  next unless File.file?(f) && File.extname(f) == '.erb'
25
26
  template(f)
26
27
  end
28
+ # make service executable
29
+ `chmod 755 #{dir}/service`
27
30
  # git init
28
31
  puts "initializing git..."
29
32
  `cd #{@dir} && git init . || true`
data/lib/slnky/service.rb CHANGED
@@ -2,6 +2,7 @@ require 'slnky/version'
2
2
  require 'slnky/message'
3
3
  require 'amqp'
4
4
  require 'open-uri'
5
+ require 'json'
5
6
 
6
7
  module Slnky
7
8
  module Service
@@ -9,7 +10,8 @@ module Slnky
9
10
  def initialize(url)
10
11
  @server = url
11
12
  @name = self.class.name.split('::').last.downcase
12
- @config = open("#{@server}/configs/#{@name}") {|f| f.read }
13
+ json = open("#{@server}/configs/#{@name}") {|f| f.read }
14
+ @config = JSON.parse(json)
13
15
  @host = @config['rabbit']['host']
14
16
  @port = @config['rabbit']['port']
15
17
  @subscriptions = {}
@@ -39,6 +41,10 @@ module Slnky
39
41
  if @subscriptions[payload.name]
40
42
  @subscriptions[payload.name].call(payload)
41
43
  end
44
+ # TODO: support this better
45
+ if @subscriptions['*']
46
+ @subscriptions['*'].call(payload)
47
+ end
42
48
  end
43
49
 
44
50
  @periodics.each do |p|
@@ -7,4 +7,6 @@
7
7
  /pkg/
8
8
  /spec/reports/
9
9
  /tmp/
10
- .env
10
+ /log/*
11
+ /.env
12
+ /deploy.env
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'slnky', github: 'shawncatz/slnky', branch: 'master'
3
+ gem 'slnky', '~> <%= Slnky::VERSION %>'
4
4
  gem 'daemons', '~> 1.2.3'
5
5
  gem 'dotenv', '~> 2.1.0'
6
6
 
@@ -0,0 +1,4 @@
1
+ # SLNKY Services just need to know the server to get their configuration
2
+ # This file is for production
3
+ # run "cap production deploy:dotenv" to push to the server
4
+ SLNKY_URL="https://domain.com"
File without changes
@@ -2,5 +2,5 @@ start on started networking
2
2
  respawn
3
3
  script
4
4
  cd /srv/<%= dir %>/current
5
- rvm 2.2.2@slnky do bundle exec ./service run
5
+ /usr/local/rvm/bin/rvm `cat .ruby-version`@`cat .ruby-gemset` do bundle exec ./service run
6
6
  end script
data/lib/slnky/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Slnky
2
- VERSION = "0.1.6"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: slnky
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shawn Catanzarite
@@ -151,17 +151,19 @@ files:
151
151
  - lib/slnky/message.rb
152
152
  - lib/slnky/service.rb
153
153
  - lib/slnky/template/service/.env.sample
154
- - lib/slnky/template/service/.gitignore
154
+ - lib/slnky/template/service/.gitignore.erb
155
155
  - lib/slnky/template/service/.rspec
156
156
  - lib/slnky/template/service/.travis.yml
157
157
  - lib/slnky/template/service/CODE_OF_CONDUCT.md
158
158
  - lib/slnky/template/service/Capfile
159
- - lib/slnky/template/service/Gemfile
159
+ - lib/slnky/template/service/Gemfile.erb
160
160
  - lib/slnky/template/service/config/deploy.rb.erb
161
161
  - lib/slnky/template/service/config/deploy/production.rb
162
162
  - lib/slnky/template/service/config/deploy/staging.rb
163
+ - lib/slnky/template/service/deploy.env
163
164
  - lib/slnky/template/service/lib/capistrano/tasks/NAME.rake.erb
164
165
  - lib/slnky/template/service/lib/slnky/service/NAME.rb.erb
166
+ - lib/slnky/template/service/log/.keep
165
167
  - lib/slnky/template/service/service.erb
166
168
  - lib/slnky/template/service/spec/slnky/service/NAME_spec.rb.erb
167
169
  - lib/slnky/template/service/spec/spec_helper.rb.erb