tamber 0.1.4 → 0.1.6
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.
- checksums.yaml +4 -4
- data/test/behavior_test.rb +2 -0
- data/test/discover_test.rb +10 -0
- data/test/event_test.rb +2 -0
- data/test/user_test.rb +40 -8
- metadata +20 -89
- data/.gitignore +0 -5
- data/.travis.yml +0 -8
- data/Gemfile +0 -2
- data/LICENSE +0 -22
- data/README.rdoc +0 -74
- data/Rakefile +0 -7
- data/VERSION +0 -1
- data/bin/tamber-0.1.3.gem +0 -0
- data/lib/security/ca-bundle.crt +0 -3893
- data/lib/tamber.rb +0 -202
- data/lib/tamber/api_operations/create.rb +0 -10
- data/lib/tamber/api_operations/remove.rb +0 -10
- data/lib/tamber/api_operations/request.rb +0 -21
- data/lib/tamber/api_operations/retrieve.rb +0 -10
- data/lib/tamber/api_operations/update.rb +0 -10
- data/lib/tamber/api_resource.rb +0 -21
- data/lib/tamber/behavior.rb +0 -6
- data/lib/tamber/discover.rb +0 -54
- data/lib/tamber/event.rb +0 -24
- data/lib/tamber/item.rb +0 -8
- data/lib/tamber/tamber_error.rb +0 -10
- data/lib/tamber/tamber_object.rb +0 -35
- data/lib/tamber/user.rb +0 -7
- data/lib/tamber/util.rb +0 -89
- data/lib/tamber/version.rb +0 -3
- data/tamber.gemspec +0 -35
data/lib/tamber/util.rb
DELETED
@@ -1,89 +0,0 @@
|
|
1
|
-
require "cgi"
|
2
|
-
require "json"
|
3
|
-
|
4
|
-
module Tamber
|
5
|
-
module Util
|
6
|
-
|
7
|
-
def self.encode_parameters(params)
|
8
|
-
Util.flatten_params(params).
|
9
|
-
map { |k,v| "#{url_encode(k)}=#{url_encode(v)}" }.join('&')
|
10
|
-
end
|
11
|
-
|
12
|
-
def self.url_encode(key)
|
13
|
-
CGI.escape(key.to_s).
|
14
|
-
gsub('%5B', '[').gsub('%5D', ']')
|
15
|
-
end
|
16
|
-
|
17
|
-
def self.flatten_params(params, parent_key=nil)
|
18
|
-
result = []
|
19
|
-
|
20
|
-
params.sort_by { |(k, v)| k.to_s }.each do |key, value|
|
21
|
-
calculated_key = parent_key ? "#{parent_key}[#{key}]" : "#{key}"
|
22
|
-
if value.is_a?(Hash) || value.is_a?(Array) || value.is_a?(APIResource)
|
23
|
-
result << [calculated_key, value.to_json]
|
24
|
-
else
|
25
|
-
result << [calculated_key, value]
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
result
|
30
|
-
end
|
31
|
-
|
32
|
-
def self.object_classes
|
33
|
-
@object_classes ||= {
|
34
|
-
# Core
|
35
|
-
'event' => Event,
|
36
|
-
'discovery' => Discovery,
|
37
|
-
|
38
|
-
# Expanded
|
39
|
-
'user' => User,
|
40
|
-
'item' => Item,
|
41
|
-
'behavior' => Behavior,
|
42
|
-
}
|
43
|
-
end
|
44
|
-
|
45
|
-
def self.convert_full(resp)
|
46
|
-
case resp
|
47
|
-
when Hash
|
48
|
-
object_classes.fetch(resp[:object],TamberObject).construct_from(resp)
|
49
|
-
when Array
|
50
|
-
resp.map { |i| convert_full(i) }
|
51
|
-
else
|
52
|
-
resp
|
53
|
-
end
|
54
|
-
end
|
55
|
-
|
56
|
-
def self.convert_to_tamber_object(resp)
|
57
|
-
case resp
|
58
|
-
when Hash
|
59
|
-
object_classes.fetch(resp[:object],TamberObject).construct_from(resp)
|
60
|
-
when Array
|
61
|
-
if resp.size == 1
|
62
|
-
resp = resp[0]
|
63
|
-
self.convert_full(resp)
|
64
|
-
else
|
65
|
-
resp.map { |i| convert_full(i) }
|
66
|
-
end
|
67
|
-
else
|
68
|
-
resp
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
def self.symbolize_names(object)
|
73
|
-
case object
|
74
|
-
when Hash
|
75
|
-
new_hash = {}
|
76
|
-
object.each do |key, value|
|
77
|
-
key = (key.to_sym rescue key) || key
|
78
|
-
new_hash[key] = symbolize_names(value)
|
79
|
-
end
|
80
|
-
new_hash
|
81
|
-
when Array
|
82
|
-
object.map { |value| symbolize_names(value) }
|
83
|
-
else
|
84
|
-
object
|
85
|
-
end
|
86
|
-
end
|
87
|
-
|
88
|
-
end
|
89
|
-
end
|
data/lib/tamber/version.rb
DELETED
data/tamber.gemspec
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
$:.unshift(File.join(File.dirname(__FILE__), 'lib'))
|
2
|
-
|
3
|
-
require 'tamber/version'
|
4
|
-
|
5
|
-
spec = Gem::Specification.new do |s|
|
6
|
-
s.name = 'tamber'
|
7
|
-
s.version = Tamber::VERSION
|
8
|
-
s.required_ruby_version = '>= 1.9.3'
|
9
|
-
s.summary = 'Ruby bindings for the Tamber API'
|
10
|
-
s.description = 'Tamber is the easiest way to put head-scratchingly accurate, real time recommendations in your app. See https://tamber.com for details.'
|
11
|
-
s.homepage = 'https://tamber.com/docs/api'
|
12
|
-
s.license = 'MIT'
|
13
|
-
s.authors = ['Alexi Robbins', 'Mark Canning']
|
14
|
-
s.email = ['alexi@tamber.com', 'argusdusty@tamber.com']
|
15
|
-
|
16
|
-
s.add_dependency('rest-client', '~> 1.4')
|
17
|
-
s.add_dependency('json', '~> 1.8.1')
|
18
|
-
s.add_dependency('activesupport', '~> 4.2.4')
|
19
|
-
|
20
|
-
s.add_development_dependency('mocha', '~> 0.13.2')
|
21
|
-
s.add_development_dependency('shoulda', '~> 3.4.0')
|
22
|
-
s.add_development_dependency('test-unit')
|
23
|
-
s.add_development_dependency('rake')
|
24
|
-
|
25
|
-
if Gem::Version.new(RUBY_VERSION.dup) > Gem::Version.new('2.0.0')
|
26
|
-
s.add_development_dependency("byebug")
|
27
|
-
s.add_development_dependency("pry")
|
28
|
-
s.add_development_dependency("pry-byebug")
|
29
|
-
end
|
30
|
-
|
31
|
-
s.files = `git ls-files`.split("\n")
|
32
|
-
s.test_files = `git ls-files -- test/*`.split("\n")
|
33
|
-
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
34
|
-
s.require_paths = ['lib']
|
35
|
-
end
|