RPFRL 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/prflr.rb +37 -0
  3. metadata +58 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 48cd9bd01b0b80a61f89d1efb739e0640a6c94be
4
+ data.tar.gz: 217deb1ff514a1cc67a5f3b6fcee3019a938c1ad
5
+ SHA512:
6
+ metadata.gz: 7cc2213d4eaf69b786b02514702cd77eae58b9341683e7dd0c74dcba59dbc2f50d0a5d84e95e235347ddc6332153678c1415783c4214f6c47fc1ab150359a195
7
+ data.tar.gz: 145f5ad9f7d86dd153f2c0cc56ab54b2c7072d71bbf322046b3bf32658f50a9b2949cb06de26c85e17d4ee3011e5c4712431b0675e6054e0bf31ac67de2a0f94
@@ -0,0 +1,37 @@
1
+ require 'socket'
2
+ require 'uuid'
3
+
4
+ module PRFLR
5
+
6
+ class Client
7
+
8
+ def initialize(opts = {})
9
+ @host = opts[:host]
10
+ @port = opts[:port]
11
+ @source = opts[:source]
12
+ @apiKey = opts[:apikey]
13
+ @timers = {}
14
+ @threadId = UUID.new.generate
15
+ @socket = UDPSocket.new
16
+ end
17
+
18
+ def begin(timer)
19
+ @timers[timer] = Time.now.to_i
20
+ end
21
+
22
+ def finish(timer, info = nil)
23
+ time = ((Time.now.to_i - @timers[timer]) * 1000).round(3)
24
+ send(timer, time, info)
25
+ end
26
+
27
+ def send(timer, time, info)
28
+ message = "#{@threadId[0..32].sub('|','')}|#{@source[0..32].sub('|','')}|#{timer[0..48].sub('|','')}|#{time}|#{info[0..32]}|#{@apiKey[0..32]}"
29
+ @socket.send(message, 0, @host, @port)
30
+ end
31
+
32
+ def finalize(object_id)
33
+ @socket.close
34
+ end
35
+ end
36
+
37
+ end
metadata ADDED
@@ -0,0 +1,58 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: RPFRL
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Max Klimenko
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-01-14 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: uuid
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '2.3'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '2.3'
27
+ description: RPFLR ruby library
28
+ email: max.klimenko@gmail.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - lib/prflr.rb
34
+ homepage: https://github.com/Bigbublik/PRFLR_ruby
35
+ licenses:
36
+ - MIT
37
+ metadata: {}
38
+ post_install_message:
39
+ rdoc_options: []
40
+ require_paths:
41
+ - lib
42
+ required_ruby_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ requirements: []
53
+ rubyforge_project:
54
+ rubygems_version: 2.2.0
55
+ signing_key:
56
+ specification_version: 4
57
+ summary: PRFLR
58
+ test_files: []