chawk 0.1.16 → 0.2.0
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/CHANGES +4 -0
- data/lib/chawk/migration.rb +0 -33
- data/lib/chawk/version.rb +1 -1
- data/lib/models.rb +17 -1
- data/test/lib/paddr_test.rb +23 -3
- data/test/test_helper.rb +5 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 594fd4f014cdc8821cd8feef0648fb62c55ad867
|
4
|
+
data.tar.gz: 3fb8f4e6e0d0c5721abeb9f754da547f0a7b53be
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d4861cad5119b155663c60c3c70acaa0063fb022a4153b74d547442ddf450fcee2d2f3ae0b9189bfeaa51cd7b917065d54282cdc51c8a2414ffcb97dbaebcbd4
|
7
|
+
data.tar.gz: acb26f7f49583c10175e4ec31fe95bbfa36f9f2234688fc49c2e460f8bd0ec559ae5aff60a53bdf20d2c174ce5c77d73cd5945124f5de2c7514d638fef64bfbe
|
data/CHANGES
CHANGED
@@ -3,3 +3,7 @@
|
|
3
3
|
Added "append" method and redirected << into it (Apparently, << is magic and won't take 2 parameters)
|
4
4
|
-- 0.1.16 --
|
5
5
|
Switched to ActiveRecord, removed DataMapper
|
6
|
+
-- 0.1.17 --
|
7
|
+
Points can now be passed as strings representing integers
|
8
|
+
-- 0.1.18 --
|
9
|
+
metadata is stored as json (must be passed as a hash)
|
data/lib/chawk/migration.rb
CHANGED
@@ -1,31 +1,5 @@
|
|
1
1
|
## ~~~- Created via -~~~
|
2
2
|
|
3
|
-
# ActiveRecord::Base.establish_connection ENV["TEST_DATABASE_URL"]
|
4
|
-
# File.open(schema_file, "w") do |file|
|
5
|
-
# ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
|
6
|
-
# end
|
7
|
-
|
8
|
-
# create_table "chawk_g_users", force: true do |t|
|
9
|
-
# t.string "google_id", limit: 120
|
10
|
-
# t.string "google_email", limit: 120
|
11
|
-
# t.string "email", limit: 120
|
12
|
-
# t.string "handle", limit: 30
|
13
|
-
# t.string "name", limit: 40
|
14
|
-
# t.string "family_name", limit: 20
|
15
|
-
# t.text "image"
|
16
|
-
# t.text "secret"
|
17
|
-
# t.string "api_key", limit: 200
|
18
|
-
# t.integer "reset_token"
|
19
|
-
# t.integer "access_token"
|
20
|
-
# t.integer "agent_id"
|
21
|
-
# end
|
22
|
-
# add_index "chawk_g_users", ["agent_id"], name: "index_chawk_g_users_agent", using: :btree
|
23
|
-
|
24
|
-
#require 'active_record'
|
25
|
-
#ActiveRecord::Base.logger = Logger.new(STDOUT)
|
26
|
-
#ActiveRecord::Base.establish_connection ENV["TEST_DATABASE_URL"]
|
27
|
-
|
28
|
-
ActiveRecord::Migration.verbose = false
|
29
3
|
class CreateChawkBase < ActiveRecord::Migration
|
30
4
|
def up
|
31
5
|
create_table "chawk_agents", force: true do |t|
|
@@ -83,10 +57,3 @@ class CreateChawkBase < ActiveRecord::Migration
|
|
83
57
|
|
84
58
|
end
|
85
59
|
|
86
|
-
#CreateChawkBase.migrate :down
|
87
|
-
CreateChawkBase.migrate :up
|
88
|
-
|
89
|
-
File.open('./test/schema.rb', "w") do |file|
|
90
|
-
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
|
91
|
-
end
|
92
|
-
|
data/lib/chawk/version.rb
CHANGED
data/lib/models.rb
CHANGED
@@ -34,7 +34,13 @@ module Chawk
|
|
34
34
|
|
35
35
|
def _insert_point(val,ts,options={})
|
36
36
|
values = {value:val,observed_at:ts.to_f}
|
37
|
-
|
37
|
+
if options[:meta]
|
38
|
+
if options[:meta].is_a?(Hash)
|
39
|
+
values[:meta] = options[:meta].to_json
|
40
|
+
else
|
41
|
+
raise ArgumentError, "Meta must be a JSON-representable Hash. #{options[:meta].inspect}"
|
42
|
+
end
|
43
|
+
end
|
38
44
|
self.points.create(values)
|
39
45
|
end
|
40
46
|
|
@@ -58,6 +64,14 @@ module Chawk
|
|
58
64
|
end
|
59
65
|
end
|
60
66
|
|
67
|
+
def _insert_point_string(item,ts,options)
|
68
|
+
if item.length > 0 && item =~ /\A[-+]?[0-9]+/
|
69
|
+
_insert_point item.to_i,ts, options
|
70
|
+
else
|
71
|
+
raise ArgumentError, "String Items must represent Integer. #{item.inspect}"
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
61
75
|
def point_recognizer(item, dt, options={})
|
62
76
|
case
|
63
77
|
when item.is_a?(Integer)
|
@@ -66,6 +80,8 @@ module Chawk
|
|
66
80
|
_insert_point_array(item, options)
|
67
81
|
when item.is_a?(Hash)
|
68
82
|
_insert_point_hash(item,dt,options)
|
83
|
+
when item.is_a?(String)
|
84
|
+
_insert_point_string(item,dt,options)
|
69
85
|
else
|
70
86
|
raise ArgumentError, "Can't recognize format of data item. #{item.inspect}"
|
71
87
|
end
|
data/test/lib/paddr_test.rb
CHANGED
@@ -114,6 +114,18 @@ describe Chawk do
|
|
114
114
|
lambda {@addr.add_points [{"x"=>10,"t"=>dt},{"x"=>0,"t"=>dt}]}.must_raise(ArgumentError)
|
115
115
|
end
|
116
116
|
|
117
|
+
it "accepts string integers in proper formats" do
|
118
|
+
lambda {@addr.add_points "X"}.must_raise(ArgumentError)
|
119
|
+
@addr.add_points "10"
|
120
|
+
@addr.points.length.must_equal(1)
|
121
|
+
@addr.add_points "0"
|
122
|
+
@addr.points.length.must_equal(2)
|
123
|
+
@addr.add_points "190"
|
124
|
+
@addr.add_points "10002"
|
125
|
+
@addr.add_points ["10","0","190","100"]
|
126
|
+
@addr.points.length.must_equal(8)
|
127
|
+
end
|
128
|
+
|
117
129
|
it "does bulk add points" do
|
118
130
|
dt = Time.now.to_f
|
119
131
|
Chawk.bulk_add_points(@agent, {"xxx"=>[1,2,3,4,5,6], "yyy"=>[[10,dt],[10,dt]], "zzz"=>[{"t"=>dt,"v"=>10},{"v"=>0,"t"=>dt}]})
|
@@ -140,9 +152,17 @@ describe Chawk do
|
|
140
152
|
end
|
141
153
|
|
142
154
|
it "stores meta information" do
|
143
|
-
|
144
|
-
|
145
|
-
@addr.
|
155
|
+
|
156
|
+
metadata = {"info"=>"this is a test"}
|
157
|
+
@addr.add_points([1,2,3,4],{:meta=>metadata})
|
158
|
+
@addr.points.last.value.must_equal(4)
|
159
|
+
JSON.parse(@addr.points.last.meta).must_equal(metadata)
|
160
|
+
|
161
|
+
metadata = {"number"=>123}
|
162
|
+
@addr.add_points([1,2,3,4],{:meta=>metadata})
|
163
|
+
@addr.points.last.value.must_equal(4)
|
164
|
+
JSON.parse(@addr.points.last.meta).must_equal(metadata)
|
165
|
+
|
146
166
|
end
|
147
167
|
|
148
168
|
|
data/test/test_helper.rb
CHANGED
@@ -27,7 +27,12 @@ if ENV["TEST_DATABASE_URLX"]
|
|
27
27
|
ActiveRecord::Base.establish_connection ENV["TEST_DATABASE_URL"]
|
28
28
|
else
|
29
29
|
ActiveRecord::Base.establish_connection adapter: "sqlite3", database: ":memory:"
|
30
|
+
ActiveRecord::Migration.verbose = false
|
30
31
|
require "chawk/migration"
|
32
|
+
CreateChawkBase.migrate :up
|
33
|
+
File.open('./test/schema.rb', "w") do |file|
|
34
|
+
ActiveRecord::SchemaDumper.dump(ActiveRecord::Base.connection, file)
|
35
|
+
end
|
31
36
|
end
|
32
37
|
|
33
38
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: chawk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Scott Russell
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|