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.



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

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.



15
16
17
# File 'lib/numerics/connection.rb', line 15

def access_key
  @access_key
end

#hostObject (readonly)

Returns the value of attribute host.



15
16
17
# File 'lib/numerics/connection.rb', line 15

def host
  @host
end

#portObject (readonly)

Returns the value of attribute port.



15
16
17
# File 'lib/numerics/connection.rb', line 15

def port
  @port
end

#secret_keyObject (readonly)

Returns the value of attribute secret_key.



15
16
17
# File 'lib/numerics/connection.rb', line 15

def secret_key
  @secret_key
end

Instance Method Details

#about(timeseries) ⇒ Object



54
55
56
# File 'lib/numerics/connection.rb', line 54

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

#create(name, precision = nil) ⇒ Object



50
51
52
# File 'lib/numerics/connection.rb', line 50

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

#describe(timeseries, md) ⇒ Object



58
59
60
# File 'lib/numerics/connection.rb', line 58

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

#disable!Object



28
29
30
# File 'lib/numerics/connection.rb', line 28

def disable!
  @disabled = true
end

#disabled?Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/numerics/connection.rb', line 40

def disabled?
  @disabled
end

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



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

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



117
118
119
# File 'lib/numerics/connection.rb', line 117

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

#enable!Object



32
33
34
# File 'lib/numerics/connection.rb', line 32

def enable!
  @disabled = false
end

#enabled?Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/numerics/connection.rb', line 36

def enabled?
  !@disabled
end

#entries(timeseries, query = nil) ⇒ Object



76
77
78
# File 'lib/numerics/connection.rb', line 76

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

#erase(timeseries) ⇒ Object



62
63
64
# File 'lib/numerics/connection.rb', line 62

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

#headline(timeseries, query = nil) ⇒ Object



130
131
132
# File 'lib/numerics/connection.rb', line 130

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

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



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

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



67
68
69
# File 'lib/numerics/connection.rb', line 67

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

#listObject

Start Commands ##



46
47
48
# File 'lib/numerics/connection.rb', line 46

def list
  self.coll_get
end

#properties(timeseries) ⇒ Object



109
110
111
# File 'lib/numerics/connection.rb', line 109

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

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

@@ todo - support time words



72
73
74
# File 'lib/numerics/connection.rb', line 72

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



80
81
82
# File 'lib/numerics/connection.rb', line 80

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

#stats(timeseries) ⇒ Object



84
85
86
# File 'lib/numerics/connection.rb', line 84

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

#stats_per(timeseries, property_name) ⇒ Object



88
89
90
# File 'lib/numerics/connection.rb', line 88

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

#stats_without_zeros(timeseries) ⇒ Object



92
93
94
# File 'lib/numerics/connection.rb', line 92

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

#tally_of(timeseries, val) ⇒ Object



96
97
98
# File 'lib/numerics/connection.rb', line 96

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

#to_sObject



24
25
26
# File 'lib/numerics/connection.rb', line 24

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

#trend(timeseries, query = nil) ⇒ Object



134
135
136
# File 'lib/numerics/connection.rb', line 134

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

#version(timeseries) ⇒ Object



113
114
115
# File 'lib/numerics/connection.rb', line 113

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