schlep 0.2.1 → 0.2.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/Readme.md +70 -0
- data/lib/schlep.rb +5 -1
- data/lib/schlep/version.rb +1 -1
- data/test/schlep_test.rb +9 -0
- metadata +10 -10
data/Readme.md
CHANGED
@@ -1 +1,71 @@
|
|
1
1
|
# schlep [](https://secure.travis-ci.org/Movitas/schlep-ruby) [](https://gemnasium.com/Movitas/schlep-ruby)
|
2
|
+
|
3
|
+
## Requirements
|
4
|
+
|
5
|
+
Schlep needs a [Redis server](http://redis.io), a [Schlep server](http://github.com/Movitas/schlep), and some events. It's [tested on most versions of Ruby](https://secure.travis-ci.org/Movitas/schlep-ruby).
|
6
|
+
|
7
|
+
## Installation
|
8
|
+
|
9
|
+
```sh
|
10
|
+
gem install schlep
|
11
|
+
```
|
12
|
+
|
13
|
+
or, add it to your Gemfile:
|
14
|
+
|
15
|
+
```rb
|
16
|
+
gem 'schlep'
|
17
|
+
```
|
18
|
+
|
19
|
+
and then run `bundle install`.
|
20
|
+
|
21
|
+
## Configuration
|
22
|
+
|
23
|
+
By default, Schlep will connect to Redis locally, use a blank string as the app name, and get the hostname by running `hostname`.
|
24
|
+
|
25
|
+
To change this, you can configure things one at a time:
|
26
|
+
|
27
|
+
```rb
|
28
|
+
Schlep.app = "My App"
|
29
|
+
Schlep.hostname = "localhost"
|
30
|
+
Schlep.redis_url = "redis://redis:password@localhost:6379"
|
31
|
+
```
|
32
|
+
|
33
|
+
or in a block:
|
34
|
+
|
35
|
+
```rb
|
36
|
+
Schlep.configure do |config|
|
37
|
+
config.app = "My App"
|
38
|
+
config.hostname = "localhost"
|
39
|
+
config.redis_url = "redis://redis:password@localhost:6379"
|
40
|
+
end
|
41
|
+
```
|
42
|
+
|
43
|
+
If you're using Rails, you should probably put the block above in `config/initializers/schlep.rb`.
|
44
|
+
|
45
|
+
For other Ruby apps, anywhere before your first Schlep event is fine.
|
46
|
+
|
47
|
+
## Usage
|
48
|
+
|
49
|
+
### Basic event
|
50
|
+
|
51
|
+
```rb
|
52
|
+
Schlep.event "event_type", something
|
53
|
+
```
|
54
|
+
|
55
|
+
`something` can be almost any Ruby object, and Schlep will do it's best to serialize it to JSON.
|
56
|
+
|
57
|
+
### Multiple events
|
58
|
+
|
59
|
+
For performance, Schlep can send multiple events of the same type to Redis in a more efficient manner. To use this, simply call `Schlep.events` instead of `Schlep.event`, and pass an array of objects to serialize:
|
60
|
+
|
61
|
+
```rb
|
62
|
+
events = []
|
63
|
+
|
64
|
+
1_000_000.times { |n| events << n }
|
65
|
+
|
66
|
+
Schlep.events "load_test", events
|
67
|
+
```
|
68
|
+
|
69
|
+
## Support
|
70
|
+
|
71
|
+
If you run into any problems, please [submit an issue](http://github.com/Movitas/schlep-ruby/issues).
|
data/lib/schlep.rb
CHANGED
data/lib/schlep/version.rb
CHANGED
data/test/schlep_test.rb
CHANGED
@@ -57,6 +57,15 @@ class SchlepTest < Test::Unit::TestCase
|
|
57
57
|
should "be a string" do
|
58
58
|
assert Schlep.hostname.is_a? String
|
59
59
|
end
|
60
|
+
|
61
|
+
should "strip whitespace and newlines" do
|
62
|
+
Schlep.hostname = "test string\n"
|
63
|
+
assert_equal "teststring", Schlep.hostname
|
64
|
+
end
|
65
|
+
|
66
|
+
should "not include a newline from the hostname command" do
|
67
|
+
assert_nil Schlep.hostname =~ /\s/
|
68
|
+
end
|
60
69
|
end
|
61
70
|
|
62
71
|
context "redis_url" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schlep
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2012-01-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: redis
|
16
|
-
requirement: &
|
16
|
+
requirement: &70203744654020 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70203744654020
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: guard-test
|
27
|
-
requirement: &
|
27
|
+
requirement: &70203744652700 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70203744652700
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &70203744652060 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70203744652060
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: shoulda
|
49
|
-
requirement: &
|
49
|
+
requirement: &70203744650800 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70203744650800
|
58
58
|
description: Ruby client for schlep. Schlep provides a simple interface for logging
|
59
59
|
and broadcasting events.
|
60
60
|
email:
|