revrise 0.0.1 → 0.0.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/.autotest ADDED
@@ -0,0 +1 @@
1
+ require "autotest/bundler"
data/.rspec ADDED
File without changes
data/Gemfile.lock CHANGED
@@ -9,14 +9,14 @@ GEM
9
9
  addressable (2.2.6)
10
10
  crack (0.3.1)
11
11
  diff-lcs (1.1.3)
12
- rspec (2.8.0)
13
- rspec-core (~> 2.8.0)
14
- rspec-expectations (~> 2.8.0)
15
- rspec-mocks (~> 2.8.0)
16
- rspec-core (2.8.0)
17
- rspec-expectations (2.8.0)
18
- diff-lcs (~> 1.1.2)
19
- rspec-mocks (2.8.0)
12
+ rspec (2.10.0)
13
+ rspec-core (~> 2.10.0)
14
+ rspec-expectations (~> 2.10.0)
15
+ rspec-mocks (~> 2.10.0)
16
+ rspec-core (2.10.0)
17
+ rspec-expectations (2.10.0)
18
+ diff-lcs (~> 1.1.3)
19
+ rspec-mocks (2.10.1)
20
20
  vcr (1.11.3)
21
21
  webmock (1.7.10)
22
22
  addressable (~> 2.2, > 2.2.5)
@@ -27,6 +27,6 @@ PLATFORMS
27
27
 
28
28
  DEPENDENCIES
29
29
  revrise!
30
- rspec
30
+ rspec (>= 2.10.0)
31
31
  vcr
32
32
  webmock
data/lib/revrise/track.rb CHANGED
@@ -1,23 +1,11 @@
1
- module Fortnox
2
- class Track < API
3
- class << self
4
- def create(attributes={})
5
- attributes = attributes.reject { |k,v| k == :id } if attributes[:id]
6
-
7
- response = run(:post, :set_contact, with_root(attributes))
8
- response['result'] ? response['result']['id'].to_i : false
9
- end
10
-
11
- def update(attributes={})
12
- response = run :post, :set_contact, with_root(attributes)
13
- response['result'] ? response['result']['id'].to_i : false
14
- end
1
+ require 'net/http'
2
+ require 'json'
15
3
 
16
- private
17
-
18
- def with_root(attributes)
19
- {:contact => attributes}
20
- end
4
+ module RevRise
5
+ class Track < API
6
+ def initialize( token )
7
+ @endpoint = "http://api.revrise.com"
21
8
  end
9
+
22
10
  end
23
11
  end
@@ -1,3 +1,3 @@
1
1
  module RevRise
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/lib/revrise.rb CHANGED
@@ -1,6 +1,50 @@
1
+ require "base64"
2
+ require "json"
3
+ require 'net/http'
4
+
5
+ require 'uri'
6
+
1
7
  require "revrise/version"
2
8
  require "revrise/api"
3
- require "fortnox/errors"
9
+ require "revrise/errors"
4
10
 
5
11
  module RevRise
12
+ class Base
13
+ def initialize( token )
14
+ @endpoint = "http://api.revrise.com/events/track?token=" + token
15
+ end
16
+
17
+ def track( event_name, properties )
18
+ event = {
19
+ :name => event_name,
20
+ :properties => properties
21
+ }.to_json
22
+
23
+ data = Base64.encode64(event).gsub(/\n/, '')
24
+
25
+ url = "#{@endpoint}&data=#{data}"
26
+ uri = URI(url)
27
+
28
+ http = Net::HTTP.new(uri.host, uri.port)
29
+ size = 1000
30
+ headers = {
31
+ 'Range' => "bytes=#{size}-"
32
+ }
33
+
34
+ response = begin
35
+ http.get(uri.to_s, headers)
36
+ rescue *HTTP_ERRORS => e
37
+ #log :error, "Unable to contact the RevRise server. HTTP Error=#{e}"
38
+ nil
39
+ end
40
+
41
+ case response
42
+ when Net::HTTPSuccess then
43
+ #log :info, "Success: #{response.class}", response
44
+ else
45
+ #log :error, "Failure: #{response.class}", response
46
+ puts "Unable to reach RevRise API. Check status"
47
+ end
48
+ end
49
+ end
6
50
  end
data/revrise.gemspec CHANGED
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
19
  s.require_paths = ["lib"]
20
20
 
21
- s.add_development_dependency "rspec"
21
+ s.add_development_dependency "rspec", ">=2.10.0"
22
22
  s.add_development_dependency "vcr"
23
23
  s.add_development_dependency "webmock"
24
24
  end
@@ -0,0 +1,40 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://api.revrise.com:80/events/track?data=eyJwcm9wZXJ0aWVzIjp7InByb3AxIjoiaGVqIGVsbGVyIMOkIGR1IGdvIGkgaMO2dmVldCBlbGxlciIsInlvX21vIjoia2Vra2UifSwibmFtZSI6IiJ9&token=x
6
+ body:
7
+ headers:
8
+ range:
9
+ - bytes=1000-
10
+ response: !ruby/struct:VCR::Response
11
+ status: !ruby/struct:VCR::ResponseStatus
12
+ code: 409
13
+ message: Conflict
14
+ headers:
15
+ access-control-allow-headers:
16
+ - Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version
17
+ access-control-allow-methods:
18
+ - GET
19
+ content-md5:
20
+ - 85evOjGmxU+uPjdDFlphbQ==
21
+ access-control-expose-headers:
22
+ - X-Api-Version, X-Request-Id, X-Response-Time
23
+ content-type:
24
+ - application/json
25
+ access-control-allow-origin:
26
+ - "*"
27
+ server:
28
+ - RevRiseAPI
29
+ x-request-id:
30
+ - 39e368f3-f8f4-4436-9b03-d1ce30fda13f
31
+ date:
32
+ - Mon, 07 May 2012 20:19:50 GMT
33
+ content-length:
34
+ - "78"
35
+ x-response-time:
36
+ - "2"
37
+ x-api-version:
38
+ - 0.0.1
39
+ body: "{\"code\":\"MissingParameter\",\"message\":\"Encoded event is missing name property\"}"
40
+ http_version: "1.1"
data/spec/spec_helper.rb CHANGED
@@ -1,8 +1,7 @@
1
- require "fortnox"
1
+ require "revrise"
2
2
  require "yaml"
3
3
  require "vcr"
4
4
 
5
-
6
5
  def fixtures(fixture)
7
6
  @@fixtures ||= load_fixtures
8
7
  @@fixtures[fixture]
@@ -1,6 +1,18 @@
1
1
  require "spec_helper"
2
2
 
3
- module Fortnox
3
+ module RevRise
4
4
  describe 'event tracking' do
5
+ it "encodes a json event" do
6
+ VCR.use_cassette('events') do
7
+
8
+ r = RevRise::Base.new('x')
9
+
10
+ r.track 'mah name', {
11
+ :prop1 => "hej eller ä du go i höveet eller",
12
+ :yo_mo => "kekke"
13
+ }
14
+
15
+ end
16
+ end
5
17
  end
6
18
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: revrise
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jonas Arnklint
@@ -26,10 +26,12 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- hash: 3
29
+ hash: 39
30
30
  segments:
31
+ - 2
32
+ - 10
31
33
  - 0
32
- version: "0"
34
+ version: 2.10.0
33
35
  type: :development
34
36
  version_requirements: *id001
35
37
  - !ruby/object:Gem::Dependency
@@ -71,7 +73,9 @@ extra_rdoc_files: []
71
73
 
72
74
  files:
73
75
  - .DS_Store
76
+ - .autotest
74
77
  - .gitignore
78
+ - .rspec
75
79
  - Gemfile
76
80
  - Gemfile.lock
77
81
  - README.md
@@ -82,6 +86,7 @@ files:
82
86
  - lib/revrise/track.rb
83
87
  - lib/revrise/version.rb
84
88
  - revrise.gemspec
89
+ - spec/fixtures/cassettes/events.yml
85
90
  - spec/spec_helper.rb
86
91
  - spec/unit/track_spec.rb
87
92
  has_rdoc: true
@@ -119,5 +124,6 @@ signing_key:
119
124
  specification_version: 3
120
125
  summary: Track events and gain insightful actionable metrics through RevRise
121
126
  test_files:
127
+ - spec/fixtures/cassettes/events.yml
122
128
  - spec/spec_helper.rb
123
129
  - spec/unit/track_spec.rb