eotb 0.1.4 → 0.1.5
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 +33 -0
- data/README +1 -0
- data/VERSION +1 -1
- data/eotb.gemspec +6 -3
- data/lib/actor.rb +22 -0
- data/lib/eotb.rb +10 -9
- data/lib/object.rb +11 -0
- data/lib/subject.rb +27 -0
- data/spec/eotb_spec.rb +0 -8
- metadata +8 -5
- data/init.rb +0 -1
data/Gemfile.lock
ADDED
@@ -0,0 +1,33 @@
|
|
1
|
+
---
|
2
|
+
hash: 3dbced1d1a21525620b773ff6f5ea1c928f6e9b4
|
3
|
+
sources:
|
4
|
+
- Rubygems:
|
5
|
+
uri: http://gemcutter.org
|
6
|
+
specs:
|
7
|
+
- json_pure:
|
8
|
+
version: 1.4.3
|
9
|
+
- gemcutter:
|
10
|
+
version: 0.5.0
|
11
|
+
- git:
|
12
|
+
version: 1.2.5
|
13
|
+
- rubyforge:
|
14
|
+
version: 2.0.4
|
15
|
+
- jeweler:
|
16
|
+
version: 1.4.0
|
17
|
+
- json:
|
18
|
+
version: 1.4.3
|
19
|
+
- rspec:
|
20
|
+
version: 1.3.0
|
21
|
+
dependencies:
|
22
|
+
jeweler:
|
23
|
+
version: ">= 1.4.0"
|
24
|
+
group:
|
25
|
+
- :default
|
26
|
+
json:
|
27
|
+
version: ">= 1.4.3"
|
28
|
+
group:
|
29
|
+
- :default
|
30
|
+
rspec:
|
31
|
+
version: ">= 1.3.0"
|
32
|
+
group:
|
33
|
+
- :default
|
data/README
CHANGED
@@ -32,6 +32,7 @@ Using in your apps
|
|
32
32
|
------------------
|
33
33
|
Add file eotb.rb in directory config/initializers of your rails application with content:
|
34
34
|
|
35
|
+
require 'Eotb'
|
35
36
|
Eotb.configure("your_api_key", "host", "port") # default host and port are 127.0.0.1 and 3000
|
36
37
|
|
37
38
|
Register events by:
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.5
|
data/eotb.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{eotb}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.5"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Ragnarson"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-07-04}
|
13
13
|
s.description = %q{Rails plugin which allow you easily track and observe your apps}
|
14
14
|
s.email = %q{bartlomiej.kozal@ragnarson.com}
|
15
15
|
s.extra_rdoc_files = [
|
@@ -20,13 +20,16 @@ Gem::Specification.new do |s|
|
|
20
20
|
".document",
|
21
21
|
".gitignore",
|
22
22
|
"Gemfile",
|
23
|
+
"Gemfile.lock",
|
23
24
|
"LICENSE",
|
24
25
|
"README",
|
25
26
|
"Rakefile",
|
26
27
|
"VERSION",
|
27
28
|
"eotb.gemspec",
|
28
|
-
"
|
29
|
+
"lib/actor.rb",
|
29
30
|
"lib/eotb.rb",
|
31
|
+
"lib/object.rb",
|
32
|
+
"lib/subject.rb",
|
30
33
|
"spec/eotb_spec.rb",
|
31
34
|
"spec/spec_helper.rb"
|
32
35
|
]
|
data/lib/actor.rb
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
class Actor
|
2
|
+
|
3
|
+
attr_reader :actor
|
4
|
+
|
5
|
+
def initialize(object)
|
6
|
+
@actor = { "event[actor][type]" => object.to_s }
|
7
|
+
end
|
8
|
+
|
9
|
+
def to_json
|
10
|
+
@actor = JSON.generate(@actor)
|
11
|
+
end
|
12
|
+
|
13
|
+
# TODO
|
14
|
+
# def to_hash
|
15
|
+
# @actor = JSON.parse(@actor)
|
16
|
+
# end
|
17
|
+
|
18
|
+
def inspect
|
19
|
+
@actor.inspect
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
data/lib/eotb.rb
CHANGED
@@ -1,8 +1,12 @@
|
|
1
|
+
require 'rubygems'
|
1
2
|
require 'net/http'
|
2
3
|
require 'uri'
|
3
|
-
require 'rubygems'
|
4
4
|
require 'json'
|
5
5
|
|
6
|
+
require File.expand_path(File.dirname(__FILE__) + '/object')
|
7
|
+
require File.expand_path(File.dirname(__FILE__) + '/actor')
|
8
|
+
require File.expand_path(File.dirname(__FILE__) + '/subject')
|
9
|
+
|
6
10
|
class Eotb
|
7
11
|
|
8
12
|
def self.configure(api_key, host = '127.0.0.1', port = '3000')
|
@@ -12,16 +16,13 @@ class Eotb
|
|
12
16
|
end
|
13
17
|
|
14
18
|
def self.register_event(actor, action, subject)
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
+
api_key = { "event[app_id]" => @@api_key }
|
20
|
+
action = { "event[action]" => action }
|
21
|
+
# TODO what if user don't send hash?
|
22
|
+
to_post = api_key.merge(actor).merge(action).merge(subject)
|
19
23
|
@@http.set_form_data(to_post)
|
24
|
+
|
20
25
|
Net::HTTP.new(@@uri.host, @@uri.port).start { |http| http.request(@@http) }
|
21
26
|
end
|
22
27
|
|
23
|
-
def to_json(array)
|
24
|
-
JSON.generate(array)
|
25
|
-
end
|
26
|
-
|
27
28
|
end
|
data/lib/object.rb
ADDED
data/lib/subject.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
class Subject
|
2
|
+
|
3
|
+
attr_reader :subject
|
4
|
+
|
5
|
+
# FIXME subject is not a hash
|
6
|
+
|
7
|
+
def initialize(object)
|
8
|
+
@subject = {}
|
9
|
+
object.each do |key, value|
|
10
|
+
@subject["event[subject][#{key.to_s}]"] = value.to_s
|
11
|
+
end
|
12
|
+
@subject
|
13
|
+
end
|
14
|
+
|
15
|
+
def inspect
|
16
|
+
@subject.inspect
|
17
|
+
end
|
18
|
+
|
19
|
+
# TODO def to_hash
|
20
|
+
# @subject = JSON.parse(@subject)
|
21
|
+
# end
|
22
|
+
|
23
|
+
def to_json
|
24
|
+
@subject = JSON.generate(@subject)
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
data/spec/eotb_spec.rb
CHANGED
@@ -2,14 +2,6 @@ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
2
|
|
3
3
|
describe Eotb do
|
4
4
|
|
5
|
-
before(:each) do
|
6
|
-
Eotb.new()
|
7
|
-
Eotb.configure('0', '127.0.0.1', '3000')
|
8
|
-
@data = ['actor', 'action', 'username']
|
9
|
-
end
|
10
5
|
|
11
|
-
it "should post data to unknown server" do
|
12
|
-
Eotb.register_event(@data[0], @data[1], @data[2]).code.should eql('500')
|
13
|
-
end
|
14
6
|
|
15
7
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eotb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 17
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 5
|
10
|
+
version: 0.1.5
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ragnarson
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
18
|
+
date: 2010-07-04 00:00:00 +02:00
|
19
19
|
default_executable:
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -63,13 +63,16 @@ files:
|
|
63
63
|
- .document
|
64
64
|
- .gitignore
|
65
65
|
- Gemfile
|
66
|
+
- Gemfile.lock
|
66
67
|
- LICENSE
|
67
68
|
- README
|
68
69
|
- Rakefile
|
69
70
|
- VERSION
|
70
71
|
- eotb.gemspec
|
71
|
-
-
|
72
|
+
- lib/actor.rb
|
72
73
|
- lib/eotb.rb
|
74
|
+
- lib/object.rb
|
75
|
+
- lib/subject.rb
|
73
76
|
- spec/eotb_spec.rb
|
74
77
|
- spec/spec_helper.rb
|
75
78
|
has_rdoc: true
|
data/init.rb
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
require 'eotb'
|