arkaan 0.5.3 → 0.5.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/arkaan/monitoring.rb +2 -1
- data/lib/arkaan/monitoring/instance.rb +22 -0
- data/lib/arkaan/monitoring/service.rb +3 -7
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 18d230ffa3ef80986d2ff4cd09eb1c0a7821fd9e
|
4
|
+
data.tar.gz: 9c97b1b1340d6321323121d5774cac905b3fa9e0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 84e7d129e2863836f69c0beae278386b59da9d87b0d676e3c6c935676c6698e104cee41da4ea65afbde980b716e352262b7e606143e8e54b1fadbb8e1eeb8e31
|
7
|
+
data.tar.gz: ab6b0e75ea42271678137898e164e3b41223327402facfa61e56e5b3bac43a6a5b5b294c402d06a180ed94aae320a85bf78c6f3a10ec9441722db3acf84a3885
|
data/lib/arkaan/monitoring.rb
CHANGED
@@ -2,6 +2,7 @@ module Arkaan
|
|
2
2
|
# The monitoring module holds all the logic about the services so they can be activated or deactivated.
|
3
3
|
# @author Vincent Courtois <courtois.vincent@outlook.com>
|
4
4
|
module Monitoring
|
5
|
-
autoload :Service, 'arkaan/monitoring/service'
|
5
|
+
autoload :Service , 'arkaan/monitoring/service'
|
6
|
+
autoload :Instance, 'arkaan/monitoring/instance'
|
6
7
|
end
|
7
8
|
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module Arkaan
|
2
|
+
module Monitoring
|
3
|
+
# An instance is one of the services, deployed on one server. A service may have many instances to balance the load between them all.
|
4
|
+
# @param Vincent Courtois <courtois.vincent@outlook.com>
|
5
|
+
class Instance
|
6
|
+
include Mongoid::Document
|
7
|
+
include Mongoid::Timestamps
|
8
|
+
|
9
|
+
# @!attribute [rw] url
|
10
|
+
# @return [String] the URL of the instance, where the requests will be issued.
|
11
|
+
field :url, type: String
|
12
|
+
|
13
|
+
# @!attribute [r] service
|
14
|
+
# @return [Arkaan::Monitoring::Service] the service this instance is linked to.
|
15
|
+
embedded_in :service, class_name: 'Arkaan::Monitoring::Service', inverse_of: :instances
|
16
|
+
|
17
|
+
validates :url,
|
18
|
+
presence: {message: 'instance.url.blank'},
|
19
|
+
format: {with: /\A(https?:\/\/)([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?\z/, message: 'instance.url.format', if: :url?}
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -9,9 +9,6 @@ module Arkaan
|
|
9
9
|
# @!attribute [rw] key
|
10
10
|
# @return [String] the name, or title of the service, optionally given to identify it more easily.
|
11
11
|
field :key, type: String
|
12
|
-
# @!attribute [rw] url
|
13
|
-
# @return [String] the URL of the service, where the requests will be issued.
|
14
|
-
field :url, type: String
|
15
12
|
# @!attribute [rw] path
|
16
13
|
# @return [String] the path the service will be mapped on in the API.
|
17
14
|
field :path, type: String, default: '/'
|
@@ -19,13 +16,12 @@ module Arkaan
|
|
19
16
|
# @!attribute [rw] creator
|
20
17
|
# @return [Arkaan::Account] the creator of this service.
|
21
18
|
belongs_to :creator, class_name: 'Arkaan::Account', optional: true, inverse_of: :services
|
19
|
+
# @!attribute [rw] instances
|
20
|
+
# @return [Array<Arkaan::Monitoring::Instance>] the instances of this service currently deployed.
|
21
|
+
embeds_many :instances, class_name: 'Arkaan::Monitoring::Instance', inverse_of: :service
|
22
22
|
|
23
23
|
validates :key, uniqueness: {message: 'service.key.uniq'}
|
24
24
|
|
25
|
-
validates :url,
|
26
|
-
presence: {message: 'service.url.blank'},
|
27
|
-
format: {with: /\A(https?:\/\/)([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?\z/, message: 'service.url.format', if: :url?}
|
28
|
-
|
29
25
|
validates :path, format: {with: /\A(\/:?[a-z]+)+\z/, message: 'service.path.format'}
|
30
26
|
end
|
31
27
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: arkaan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vincent Courtois
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-10-
|
11
|
+
date: 2017-10-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -161,6 +161,7 @@ files:
|
|
161
161
|
- lib/arkaan/concerns.rb
|
162
162
|
- lib/arkaan/concerns/sluggable.rb
|
163
163
|
- lib/arkaan/monitoring.rb
|
164
|
+
- lib/arkaan/monitoring/instance.rb
|
164
165
|
- lib/arkaan/monitoring/service.rb
|
165
166
|
- lib/arkaan/oauth.rb
|
166
167
|
- lib/arkaan/oauth/access_token.rb
|