boutons 0.1.5 → 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: 74b5abc6728dce0dcf5c43f5c38a6c61ad879f1b
4
- data.tar.gz: 778cdd570c230f62e57e265feec3eda51e4f5233
3
+ metadata.gz: b6323d849f1adc7e1abb6cf0031cb892afc38396
4
+ data.tar.gz: e70c25a3738a20e41bd8adbdf23491d0fba436d3
5
5
  SHA512:
6
- metadata.gz: d646f87a510789110a12da5215e34e4e9d13d8bea58f361a66aa05fa91191587e738b2e5f1c3c12d5eaa1841cb6897c2fa166cd2c8b0db54eb1ce3d2c1516c7f
7
- data.tar.gz: 4ad6e13ef67b19ac5146c259db0425dc079204e1b05677e51562640059e92bb5b4bc32fa91239d964b9f2b96a99e3563773b29bdbc9df9cf7e26bf23c1005776
6
+ metadata.gz: fc3298b2be2ed421a3b1f65a0dcc8bfc0d49869b0d020df69d20be01b14d1405024006afa7b6f175cac6aabc69a3cdd945eb1ad1995c57f61a340d11de26c127
7
+ data.tar.gz: f1f0a6e00e850080110b157082fd57e99995059b2492937eaa83d0cc899083f5c837b670750fbf5655970429bbd0e58aeee43190668a2de268202cb70b341a4b
data/boutons.gemspec CHANGED
@@ -22,8 +22,10 @@ Gem::Specification.new do |spec|
22
22
  spec.add_dependency "synapse-easy", "~> 0.1"
23
23
  spec.add_dependency "synapse-config", "~> 0.1"
24
24
  spec.add_dependency "synapse-logging-interchangeable", "~> 0.1"
25
+ spec.add_dependency "toml-rb"
26
+ spec.add_dependency "recursive-open-struct"
27
+ spec.add_dependency "bundler", "~> 1.8"
25
28
 
26
- spec.add_development_dependency "bundler", "~> 1.8"
27
29
  spec.add_development_dependency "rake", "~> 10.0"
28
30
  spec.add_development_dependency "unirest"
29
31
  end
@@ -0,0 +1,27 @@
1
+ require "toml"
2
+ require "recursive-open-struct"
3
+
4
+ module Boutons
5
+ class Config < RecursiveOpenStruct
6
+ class << self
7
+ def file
8
+ %w{. config/ ~/.boutons ~/ /etc/boutons /etc}.product(%w{tml toml}).collect{|x|File.expand_path x.join("/boutons.")}.each do |file|
9
+ return file if File.exists? file
10
+ end
11
+ end
12
+ private
13
+ def config
14
+ @config ||= self.new TOML.load_file(file,symbolize_keys:true)
15
+ end
16
+ def method_missing method, *args, &block
17
+ config.send method, *args, &block
18
+ end
19
+ end
20
+ def keys
21
+ @table.keys
22
+ end
23
+ def each *args, &block
24
+ @table.each(*args,&block)
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,5 @@
1
+ require "synapse/easy/service"
2
+
3
+ Boutons::Config.services.zookeeper.each do |service,path|
4
+ Boutons.add Synapse::Easy::Service.new application: service, path: path, hosts: (Boutons::Config.discovery.zookeeper.hosts rescue nil)
5
+ end rescue nil
@@ -7,16 +7,6 @@ module Synapse
7
7
  @service_watchers ||= []
8
8
  @service_watchers << ServiceWatcher.create(service.name, service, self)
9
9
  end
10
- # TODO: have to investigate haproxy-class of synapse a little bit more
11
- # def remove_service service_name
12
- # @service_watchers ||= []
13
- # @service_watchers.each do |service_watcher|
14
- # next unless service_watcher.name == service_name
15
- # @service_watchers.delete(service_watcher)
16
- # service_watcher.stop
17
- # service_watcher = nil
18
- # end
19
- # end
20
10
  def service_watchers
21
11
  @service_watchers
22
12
  end
@@ -1,3 +1,3 @@
1
1
  module Boutons
2
- VERSION = "0.1.5"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/boutons.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require "boutons/version"
2
+ require "boutons/config"
2
3
  require "synapse"
3
4
  require "synapse/easy"
4
5
  require "synapse/config"
@@ -116,3 +117,5 @@ module Boutons
116
117
  end
117
118
  end
118
119
  end
120
+
121
+ require "boutons/early_start"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: boutons
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mathias Kaufmann
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2015-04-02 00:00:00.000000000 Z
11
+ date: 2015-04-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: synapse
@@ -66,6 +66,34 @@ dependencies:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: toml-rb
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: recursive-open-struct
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: bundler
71
99
  requirement: !ruby/object:Gem::Requirement
@@ -73,7 +101,7 @@ dependencies:
73
101
  - - "~>"
74
102
  - !ruby/object:Gem::Version
75
103
  version: '1.8'
76
- type: :development
104
+ type: :runtime
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
@@ -125,6 +153,8 @@ files:
125
153
  - bin/setup
126
154
  - boutons.gemspec
127
155
  - lib/boutons.rb
156
+ - lib/boutons/config.rb
157
+ - lib/boutons/early_start.rb
128
158
  - lib/boutons/synapse.rb
129
159
  - lib/boutons/version.rb
130
160
  homepage: https://synapse.stei.gr/boutons