boutons 0.1.5 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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