clustered 0.0.0 → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/client.rb +2 -3
- data/lib/client_manager.rb +5 -3
- data/lib/sinatra_cluster.rb +38 -0
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c71e55f2487fd59f3ac2dd6940844846f78354f6
|
4
|
+
data.tar.gz: 6fa4b21f8e32e470583ae62961fb7cae1e1e73f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7cdafe8d3853412ea0923688529e628e2c2e2c52ba313be3338249804a468e1ff71fababb486debc7e72cf02cf90680b0d99cc0a9cde927539fa8d708976154b
|
7
|
+
data.tar.gz: 952c447634285fce8ef50e2d760b84382468c05fe13d144f7f876dccc7a01a4b2d999e83002d290eed8f97138298991615981898ab0064d6e2a8195a8c7fd19e
|
data/lib/client.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
1
|
class Client
|
2
|
-
attr_accessor :tasks, :name
|
2
|
+
attr_accessor :tasks, :name
|
3
3
|
|
4
4
|
def initialize(name)
|
5
5
|
@name = name
|
6
6
|
@tasks = []
|
7
|
-
@top_task = top_task
|
8
7
|
end
|
9
8
|
|
10
9
|
def add_task(task_description)
|
@@ -12,6 +11,6 @@ class Client
|
|
12
11
|
end
|
13
12
|
|
14
13
|
def top_task
|
15
|
-
@tasks
|
14
|
+
@tasks.last
|
16
15
|
end
|
17
16
|
end
|
data/lib/client_manager.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
require_relative 'client'
|
2
2
|
|
3
3
|
class ClientManager
|
4
4
|
attr_accessor :clients
|
@@ -12,7 +12,9 @@ class ClientManager
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def new_client(name)
|
15
|
-
|
16
|
-
|
15
|
+
if !(@clients.has_key?(name))
|
16
|
+
client = Client.new(name)
|
17
|
+
add_client(client)
|
18
|
+
end
|
17
19
|
end
|
18
20
|
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
$LOAD_PATH.unshift File.expand_path('./', __FILE__)
|
2
|
+
|
3
|
+
require 'sinatra'
|
4
|
+
require 'sinatra/cookies'
|
5
|
+
require 'bundler'
|
6
|
+
require_relative 'client_manager'
|
7
|
+
|
8
|
+
Bundler.require(:default)
|
9
|
+
Bundler.setup
|
10
|
+
|
11
|
+
class Sinatra_Cluster < Sinatra::Base
|
12
|
+
attr_reader :params, :client_manager
|
13
|
+
|
14
|
+
get '/' do
|
15
|
+
initialize_client_manager
|
16
|
+
@client_list = @@client_manager
|
17
|
+
erb :home
|
18
|
+
end
|
19
|
+
|
20
|
+
post '/' do
|
21
|
+
make_new_client
|
22
|
+
add_task
|
23
|
+
@client_list = @@client_manager
|
24
|
+
erb :home
|
25
|
+
end
|
26
|
+
|
27
|
+
def initialize_client_manager
|
28
|
+
@@client_manager ||= ClientManager.new
|
29
|
+
end
|
30
|
+
|
31
|
+
def make_new_client
|
32
|
+
@@client_manager.new_client(params[:new_client].to_s)
|
33
|
+
end
|
34
|
+
|
35
|
+
def add_task
|
36
|
+
@@client_manager.clients[params[:new_client].to_s].add_task(params[:task].to_s)
|
37
|
+
end
|
38
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: clustered
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Philip Szalwinski
|
@@ -18,6 +18,7 @@ extra_rdoc_files: []
|
|
18
18
|
files:
|
19
19
|
- lib/client.rb
|
20
20
|
- lib/client_manager.rb
|
21
|
+
- lib/sinatra_cluster.rb
|
21
22
|
homepage: http://rubygems.org/gems/clustered
|
22
23
|
licenses:
|
23
24
|
- MIT
|