communicator 0.1.1 → 0.1.2
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.
- data/Gemfile.lock +1 -5
- data/README.rdoc +32 -7
- data/VERSION +1 -1
- data/communicator.gemspec +2 -2
- data/lib/communicator.rb +13 -1
- data/lib/communicator/server.rb +1 -5
- metadata +4 -4
data/Gemfile.lock
CHANGED
@@ -1,12 +1,11 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
communicator (0.1.
|
4
|
+
communicator (0.1.1)
|
5
5
|
activerecord (< 3.0.0)
|
6
6
|
httparty (>= 0.6.1)
|
7
7
|
json (>= 1.4.0)
|
8
8
|
sinatra (~> 1.1.0)
|
9
|
-
sinatra-basic-auth
|
10
9
|
|
11
10
|
GEM
|
12
11
|
remote: http://rubygems.org/
|
@@ -26,8 +25,6 @@ GEM
|
|
26
25
|
sinatra (1.1.0)
|
27
26
|
rack (~> 1.1)
|
28
27
|
tilt (~> 1.1)
|
29
|
-
sinatra-basic-auth (0.1.0)
|
30
|
-
sinatra
|
31
28
|
sqlite3-ruby (1.3.2)
|
32
29
|
tilt (1.1)
|
33
30
|
|
@@ -44,5 +41,4 @@ DEPENDENCIES
|
|
44
41
|
rack-test (>= 0.5.6)
|
45
42
|
shoulda (= 2.10.3)
|
46
43
|
sinatra (~> 1.1.0)
|
47
|
-
sinatra-basic-auth
|
48
44
|
sqlite3-ruby (>= 1.3.0)
|
data/README.rdoc
CHANGED
@@ -20,8 +20,38 @@ migrations from the gem:
|
|
20
20
|
$ rake communicator:update_migrations
|
21
21
|
$ rake db:migrate
|
22
22
|
|
23
|
-
After doing these steps, you can proceed to configure either the server or client
|
24
|
-
|
23
|
+
After doing these steps, you can proceed to configure either the server or client.
|
24
|
+
On both sides, you'll have to configure the client and server. You can do so
|
25
|
+
by placing a configuration file in Rails.root/config/communicator.yml that looks
|
26
|
+
somewhat like this:
|
27
|
+
|
28
|
+
defaults: &defaults
|
29
|
+
username: communicator
|
30
|
+
password: verysecret
|
31
|
+
base_uri: localhost:3001 # Can be ommitted for server config
|
32
|
+
|
33
|
+
test:
|
34
|
+
<<: *defaults
|
35
|
+
|
36
|
+
development:
|
37
|
+
<<: *defaults
|
38
|
+
|
39
|
+
production:
|
40
|
+
<<: *defaults
|
41
|
+
password: Uber!Secret
|
42
|
+
base_uri: 192.168.0.104:4000 # Can be ommitted for server config
|
43
|
+
|
44
|
+
The configuration for the current `Rails.env` will then be automatically loaded
|
45
|
+
when you `require 'communicator'`.
|
46
|
+
|
47
|
+
You can also skip the YAML configuration and set up the credentials programmatically:
|
48
|
+
|
49
|
+
Communicator::Server.username = 'foo'
|
50
|
+
Communicator::Server.password = 'bar'
|
51
|
+
|
52
|
+
Communicator::Client.username = 'foo'
|
53
|
+
Communicator::Client.password = 'bar'
|
54
|
+
Communicator::Client.base_uri 'localhost:1234'
|
25
55
|
|
26
56
|
== Server side
|
27
57
|
|
@@ -29,8 +59,6 @@ On the server side, you can mount the server component in a Rails 2.3 app
|
|
29
59
|
as a rack middleware inside environment.rb:
|
30
60
|
|
31
61
|
require 'communicator'
|
32
|
-
Communicator::Server.username = 'foo'
|
33
|
-
Communicator::Server.password = 'bar'
|
34
62
|
config.middleware.use 'Communicator::Server'
|
35
63
|
|
36
64
|
It will then be mounted at /messages.json for GET and POST requests, requesting
|
@@ -42,9 +70,6 @@ Tell the client the server url and port as well as the auth credentials inside
|
|
42
70
|
your environment.rb:
|
43
71
|
|
44
72
|
require 'communicator'
|
45
|
-
Communicator::Client.username = 'test'
|
46
|
-
Communicator::Client.password = 'test'
|
47
|
-
Communicator::Client.base_uri 'localhost:3001'
|
48
73
|
|
49
74
|
When everything's fine, you should be able to push and pull using the client:
|
50
75
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
data/communicator.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{communicator}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Christoph Olszowka"]
|
12
|
-
s.date = %q{2010-11-
|
12
|
+
s.date = %q{2010-11-04}
|
13
13
|
s.description = %q{Data push/pull between apps with local inbound/outbound queue and easy publish/process interface}
|
14
14
|
s.email = %q{christoph at olszowka de}
|
15
15
|
s.extra_rdoc_files = [
|
data/lib/communicator.rb
CHANGED
@@ -51,4 +51,16 @@ require 'communicator/server'
|
|
51
51
|
require 'communicator/client'
|
52
52
|
require 'communicator/active_record_integration'
|
53
53
|
require 'communicator/outbound_message'
|
54
|
-
require 'communicator/inbound_message'
|
54
|
+
require 'communicator/inbound_message'
|
55
|
+
|
56
|
+
# Autoload config when present for rails
|
57
|
+
if defined?(Rails)
|
58
|
+
config_path = File.join(Rails.root, 'config', 'communicator.yml')
|
59
|
+
if File.exist?(config_path)
|
60
|
+
config = YAML.load_file(config_path).with_indifferent_access[Rails.env]
|
61
|
+
puts "Config file for communicator found, but does not have configuration for env #{Rails.env}" unless config.kind_of?(Hash)
|
62
|
+
Communicator::Server.username = Communicator::Client.username = config[:username]
|
63
|
+
Communicator::Server.password = Communicator::Client.password = config[:password]
|
64
|
+
Communicator::Client.base_uri config[:base_uri]
|
65
|
+
end
|
66
|
+
end
|
data/lib/communicator/server.rb
CHANGED
@@ -16,10 +16,6 @@ class Communicator::Server < Sinatra::Base
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
# use Rack::Auth::Basic do |username, password|
|
20
|
-
# [username, password] == [Communicator::Server.username, Communicator::Server.password]
|
21
|
-
# end
|
22
|
-
|
23
19
|
helpers do
|
24
20
|
def protected!
|
25
21
|
unless authorized?
|
@@ -27,7 +23,7 @@ class Communicator::Server < Sinatra::Base
|
|
27
23
|
throw(:halt, [401, "Not authorized\n"])
|
28
24
|
end
|
29
25
|
end
|
30
|
-
|
26
|
+
|
31
27
|
def authorized?
|
32
28
|
@auth ||= Rack::Auth::Basic::Request.new(request.env)
|
33
29
|
@auth.provided? && @auth.basic? && @auth.credentials && @auth.credentials == [Communicator::Server.username, Communicator::Server.password]
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: communicator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 31
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 2
|
10
|
+
version: 0.1.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Christoph Olszowka
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-11-
|
18
|
+
date: 2010-11-04 00:00:00 +01:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|