Class: Numerics::Connection

Inherits:
Object
  • Object
show all
Defined in:
lib/numerics/connection.rb

Constant Summary collapse

HOST =
'api.numerics.io'
PORT =
'443'
BASE_PATH =
'/ts'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(access_key, secret_key, host = nil, port = nil, disabled = nil) ⇒ Connection

Returns a new instance of Connection.



19
20
21
22
23
24
# File 'lib/numerics/connection.rb', line 19

def initialize(access_key, secret_key, host=nil, port=nil, disabled=nil)
  @access_key, @secret_key = access_key.to_s, secret_key.to_s
  @host = (host || HOST).to_s
  @port = (port || PORT).to_s
  @disabled = !!disabled
end

Instance Attribute Details

#access_keyObject (readonly)

Returns the value of attribute access_key.



17
18
19
# File 'lib/numerics/connection.rb', line 17

def access_key
  @access_key
end

#hostObject (readonly)

Returns the value of attribute host.



17
18
19
# File 'lib/numerics/connection.rb', line 17

def host
  @host
end

#portObject (readonly)

Returns the value of attribute port.



17
18
19
# File 'lib/numerics/connection.rb', line 17

def port
  @port
end

#secret_keyObject (readonly)

Returns the value of attribute secret_key.



17
18
19
# File 'lib/numerics/connection.rb', line 17

def secret_key
  @secret_key
end

Instance Method Details

#about(timeseries) ⇒ Object



56
57
58
# File 'lib/numerics/connection.rb', line 56

def about(timeseries)
  self.get(timeseries, 'about')
end

#create(name, precision = nil) ⇒ Object



52
53
54
# File 'lib/numerics/connection.rb', line 52

def create(name, precision=nil)
  self.coll_post([name, precision.to_s])
end

#describe(timeseries, md) ⇒ Object



60
61
62
# File 'lib/numerics/connection.rb', line 60

def describe(timeseries, md)
  self.put(timeseries, 'describe', md)
end

#disable!Object



30
31
32
# File 'lib/numerics/connection.rb', line 30

def disable!
  @disabled = true
end

#disabled?Boolean

Returns:

  • (Boolean)


42
43
44
# File 'lib/numerics/connection.rb', line 42

def disabled?
  @disabled
end

#distribution(timeseries, width = nil, start = nil) ⇒ Object



102
103
104
105
106
107
108
109
# File 'lib/numerics/connection.rb', line 102

def distribution(timeseries, width=nil, start=nil)
  query =  if width || start
             {:w => width, :s => start}
           else
             nil
           end
  self.get(timeseries, 'distribution', query)
end

#draw(timeseries, query = nil) ⇒ Object



119
120
121
# File 'lib/numerics/connection.rb', line 119

def draw(timeseries, query=nil)
  self.get(timeseries, 'draw', query)
end

#enable!Object



34
35
36
# File 'lib/numerics/connection.rb', line 34

def enable!
  @disabled = false
end

#enabled?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/numerics/connection.rb', line 38

def enabled?
  !@disabled
end

#entries(timeseries, query = nil) ⇒ Object



78
79
80
# File 'lib/numerics/connection.rb', line 78

def entries(timeseries, query=nil)
  self.get(timeseries, 'entries', query)
end

#erase(timeseries) ⇒ Object



64
65
66
# File 'lib/numerics/connection.rb', line 64

def erase(timeseries)
  self.destroy(timeseries)
end

#headline(timeseries, query = nil) ⇒ Object



132
133
134
# File 'lib/numerics/connection.rb', line 132

def headline(timeseries, query=nil)
  self.get(timeseries, 'headline', query)
end

#histogram(timeseries, width = nil, start = nil) ⇒ Object



123
124
125
126
127
128
129
130
# File 'lib/numerics/connection.rb', line 123

def histogram(timeseries, width=nil, start=nil)
  query =  if width || start
             {:w => width, :s => start}
           else
             nil
           end
  self.get(timeseries, 'histogram', query)
end

#insert(timeseries, number = '1', time = Time.now, properties = {}) ⇒ Object

@@ todo - support time words



69
70
71
# File 'lib/numerics/connection.rb', line 69

def insert(timeseries, number='1', time=Time.now, properties={})
  self.post(timeseries, 'insert', [time.to_s, number.to_s, properties])
end

#listObject

Start Commands ##



48
49
50
# File 'lib/numerics/connection.rb', line 48

def list
  self.coll_get
end

#properties(timeseries) ⇒ Object



111
112
113
# File 'lib/numerics/connection.rb', line 111

def properties(timeseries)
  self.get(timeseries, 'properties')
end

#remove(timeseries, number = '1', time = Time.now, properties = {}) ⇒ Object

@@ todo - support time words



74
75
76
# File 'lib/numerics/connection.rb', line 74

def remove(timeseries, number='1', time=Time.now, properties={})
  self.post(timeseries, 'remove', [time.to_s, number.to_s, properties])
end

#series(timeseries, query = nil) ⇒ Object



82
83
84
# File 'lib/numerics/connection.rb', line 82

def series(timeseries, query=nil)
  self.get(timeseries, 'series', query)
end

#stats(timeseries) ⇒ Object



86
87
88
# File 'lib/numerics/connection.rb', line 86

def stats(timeseries)
  self.get(timeseries, 'stats')
end

#stats_per(timeseries, property_name) ⇒ Object



90
91
92
# File 'lib/numerics/connection.rb', line 90

def stats_per(timeseries, property_name)
  self.get(timeseries, 'stats_per', :p => property_name)
end

#stats_without_zeros(timeseries) ⇒ Object



94
95
96
# File 'lib/numerics/connection.rb', line 94

def stats_without_zeros(timeseries)
  self.get(timeseries, 'stats_without_zeros')
end

#tally_of(timeseries, val) ⇒ Object



98
99
100
# File 'lib/numerics/connection.rb', line 98

def tally_of(timeseries, val)
  self.get(timeseries, 'tally_of', :v => val)
end

#to_sObject



26
27
28
# File 'lib/numerics/connection.rb', line 26

def to_s
  "#<Numerics::Connection @access_key=#{@access_key}>"
end

#trend(timeseries, query = nil) ⇒ Object



136
137
138
# File 'lib/numerics/connection.rb', line 136

def trend(timeseries, query=nil)
  self.get(timeseries, 'trend', query)
end

#version(timeseries) ⇒ Object



115
116
117
# File 'lib/numerics/connection.rb', line 115

def version(timeseries)
  self.get(timeseries, 'version')
end