blobject 0.3.7 → 0.4.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 +7 -0
- data/.gitignore +0 -0
- data/.pryrc +4 -7
- data/.yardopts +2 -0
- data/Gemfile +0 -0
- data/Gemfile.lock +17 -23
- data/README.markdown +64 -4
- data/Rakefile +0 -0
- data/assets/blob_defn.png +0 -0
- data/assets/blobject.png +0 -0
- data/benchmarks/results +0 -0
- data/blobject.gemspec +3 -3
- data/blobject.psd +0 -0
- data/doc/Blobject.html +242 -137
- data/doc/_index.html +1 -1
- data/doc/class_list.html +0 -0
- data/doc/css/common.css +0 -0
- data/doc/css/full_list.css +0 -0
- data/doc/css/style.css +0 -0
- data/doc/file.README.html +103 -18
- data/doc/file_list.html +0 -0
- data/doc/frames.html +0 -0
- data/doc/index.html +103 -18
- data/doc/js/app.js +0 -0
- data/doc/js/full_list.js +0 -0
- data/doc/js/jquery.js +0 -0
- data/doc/method_list.html +16 -0
- data/doc/top-level-namespace.html +1 -1
- data/lib/blobject.rb +46 -57
- data/lib/blobject/version.rb +2 -1
- data/makefile +15 -1
- data/spec/blobject_spec.rb +29 -27
- data/spec/env.rb +4 -3
- data/spec/sample_data/sample.json +0 -0
- data/spec/sample_data/sample.yaml +0 -0
- data/spec/sample_data/sample2.json +0 -0
- data/spec/sample_data/sample2.yaml +0 -0
- data/spec/sample_data/sample3.json +25 -0
- data/try_blobject.sh +4 -0
- metadata +42 -29
data/lib/blobject/version.rb
CHANGED
data/makefile
CHANGED
@@ -1,4 +1,18 @@
|
|
1
1
|
test:
|
2
2
|
./spec/exec
|
3
3
|
|
4
|
-
|
4
|
+
gh-pages:
|
5
|
+
set -o errexit
|
6
|
+
|
7
|
+
git checkout gh-pages # fail&bail if there are uncommitted changes
|
8
|
+
rm -rf *
|
9
|
+
git clone git://github.com/sjltaylor/blobject.git
|
10
|
+
mv blobject/doc/* ./
|
11
|
+
rm -rf blobject
|
12
|
+
git add -A .
|
13
|
+
git commit -m 'updated docs with "make docs"'
|
14
|
+
git push origin gh-pages:gh-pages
|
15
|
+
git checkout master
|
16
|
+
|
17
|
+
|
18
|
+
.PHONY: test gh-pages
|
data/spec/blobject_spec.rb
CHANGED
@@ -19,7 +19,7 @@ describe Blobject do
|
|
19
19
|
|
20
20
|
end
|
21
21
|
|
22
|
-
it 'provides access
|
22
|
+
it 'provides access to the internal hash with #hash' do
|
23
23
|
assert b.hash.equal?(b.instance_variable_get :@hash)
|
24
24
|
end
|
25
25
|
|
@@ -39,9 +39,9 @@ describe Blobject do
|
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'turns hashes into blobjects when assigning' do
|
42
|
-
|
42
|
+
|
43
43
|
b.name = { christian: "Vinnie", surname: "Jones" }
|
44
|
-
|
44
|
+
|
45
45
|
assert_instance_of Blobject, b.name
|
46
46
|
assert_equal b.name.christian, "Vinnie"
|
47
47
|
assert_equal b.name.surname, "Jones"
|
@@ -68,24 +68,24 @@ describe Blobject do
|
|
68
68
|
describe 'hash-like access' do
|
69
69
|
|
70
70
|
it 'allows hash-style setters' do
|
71
|
-
|
71
|
+
|
72
72
|
b[:foo] = 123
|
73
73
|
b['bar'] = 456
|
74
|
-
|
74
|
+
|
75
75
|
assert_equal "#{b.foo}#{b.bar}", '123456'
|
76
76
|
end
|
77
77
|
|
78
78
|
it 'allows hash-style getters' do
|
79
|
-
|
79
|
+
|
80
80
|
b.name = "Jimmy"
|
81
|
-
|
81
|
+
|
82
82
|
assert_equal b[:name] , "Jimmy"
|
83
83
|
assert_equal b['name'], "Jimmy"
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
87
|
describe 'respond_to?' do
|
88
|
-
|
88
|
+
|
89
89
|
it 'returns true if the blobject has the corresponding member' do
|
90
90
|
b.name = 'jim'
|
91
91
|
assert b.respond_to?(:name)
|
@@ -93,14 +93,14 @@ describe Blobject do
|
|
93
93
|
assert b.respond_to?(:name?)
|
94
94
|
end
|
95
95
|
|
96
|
-
it '
|
96
|
+
it 'returns true if a prohibited attribute name is a defined method' do
|
97
97
|
def b.to_ary
|
98
98
|
123
|
99
99
|
end
|
100
100
|
assert b.respond_to? :to_ary
|
101
101
|
end
|
102
102
|
|
103
|
-
it '
|
103
|
+
it 'returns false if the methods ends with a !' do
|
104
104
|
refute b.respond_to? :hello!
|
105
105
|
end
|
106
106
|
|
@@ -111,7 +111,7 @@ describe Blobject do
|
|
111
111
|
assert b.respond_to?(:name?)
|
112
112
|
end
|
113
113
|
|
114
|
-
it '
|
114
|
+
it 'returns true if the blobject has the corresponding member but the accessor has not been memoized' do
|
115
115
|
b = Blobject.new :name => 'barry'
|
116
116
|
assert b.respond_to?(:name)
|
117
117
|
assert b.respond_to?(:name=)
|
@@ -139,9 +139,9 @@ describe Blobject do
|
|
139
139
|
end
|
140
140
|
|
141
141
|
describe 'from_json' do
|
142
|
-
|
142
|
+
|
143
143
|
describe 'array' do
|
144
|
-
|
144
|
+
|
145
145
|
it 'returns an array with blobjects not hashes' do
|
146
146
|
json = '[1, true, {"meaning": false}]'
|
147
147
|
array = Blobject.from_json json
|
@@ -154,7 +154,7 @@ describe Blobject do
|
|
154
154
|
end
|
155
155
|
|
156
156
|
describe 'json object' do
|
157
|
-
|
157
|
+
|
158
158
|
it 'returns a blobject which' do
|
159
159
|
json = '{"name": {"first": "doogle"}}'
|
160
160
|
b = Blobject.from_json json
|
@@ -199,9 +199,13 @@ describe Blobject do
|
|
199
199
|
assert !b.fish?
|
200
200
|
end
|
201
201
|
|
202
|
-
|
203
|
-
|
204
|
-
|
202
|
+
describe 'when the value is a boolean' do
|
203
|
+
it 'indicates false correctly' do
|
204
|
+
b.fish = true
|
205
|
+
assert b.fish?
|
206
|
+
b.fish = false
|
207
|
+
refute b.fish?
|
208
|
+
end
|
205
209
|
end
|
206
210
|
end
|
207
211
|
|
@@ -271,14 +275,6 @@ describe Blobject do
|
|
271
275
|
end
|
272
276
|
|
273
277
|
describe 'freeze' do
|
274
|
-
it 'freezes the internal hash' do
|
275
|
-
b.freeze
|
276
|
-
b.hash.must_be :frozen?
|
277
|
-
end
|
278
|
-
end
|
279
|
-
|
280
|
-
describe 'freeze_r' do
|
281
|
-
|
282
278
|
before :each do
|
283
279
|
list_element = Blobject.new
|
284
280
|
|
@@ -286,7 +282,12 @@ describe Blobject do
|
|
286
282
|
b.data.list = [1, 2, 3, list_element]
|
287
283
|
b.data.inner_hash = {:inner => {:one => 1}}
|
288
284
|
|
289
|
-
b.
|
285
|
+
b.freeze
|
286
|
+
end
|
287
|
+
|
288
|
+
it 'freezes the internal hash' do
|
289
|
+
b.freeze
|
290
|
+
b.hash.must_be :frozen?
|
290
291
|
end
|
291
292
|
|
292
293
|
it 'still provides access' do
|
@@ -318,4 +319,5 @@ describe Blobject do
|
|
318
319
|
b.meow_face.must_be_instance_of Blobject
|
319
320
|
end
|
320
321
|
end
|
321
|
-
|
322
|
+
|
323
|
+
end
|
data/spec/env.rb
CHANGED
@@ -5,8 +5,9 @@ $:.push 'lib', 'spec'
|
|
5
5
|
|
6
6
|
require 'minitest/autorun'
|
7
7
|
require 'minitest/spec'
|
8
|
-
|
9
8
|
require 'minitest/reporters'
|
10
9
|
|
11
|
-
|
12
|
-
|
10
|
+
Minitest::Reporters.use!
|
11
|
+
Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
|
12
|
+
|
13
|
+
require 'pry'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,25 @@
|
|
1
|
+
{
|
2
|
+
"device_id": 63354,
|
3
|
+
"channel_no": 6,
|
4
|
+
"interval_ms": 15000,
|
5
|
+
"readings": [
|
6
|
+
{
|
7
|
+
"value": 14232,
|
8
|
+
"time": 1339880802
|
9
|
+
},
|
10
|
+
{
|
11
|
+
"value": 14232,
|
12
|
+
"time": 1339880817
|
13
|
+
}
|
14
|
+
],
|
15
|
+
"calibration": {
|
16
|
+
"staff": {
|
17
|
+
"name": {
|
18
|
+
"first": "Carl",
|
19
|
+
"middle_initial": "I",
|
20
|
+
"second": "Brator"
|
21
|
+
}
|
22
|
+
},
|
23
|
+
"last_calibration": "2010-06-16T22:06:42+01:00"
|
24
|
+
}
|
25
|
+
}
|
data/try_blobject.sh
ADDED
metadata
CHANGED
@@ -1,60 +1,71 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blobject
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Sam Taylor
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-04-26 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: minitest
|
16
|
-
requirement:
|
17
|
-
none: false
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
19
|
version: '0'
|
22
20
|
type: :development
|
23
21
|
prerelease: false
|
24
|
-
version_requirements:
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
25
27
|
- !ruby/object:Gem::Dependency
|
26
28
|
name: minitest-reporters
|
27
|
-
requirement:
|
28
|
-
none: false
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
29
30
|
requirements:
|
30
|
-
- -
|
31
|
+
- - ">="
|
31
32
|
- !ruby/object:Gem::Version
|
32
33
|
version: '0'
|
33
34
|
type: :development
|
34
35
|
prerelease: false
|
35
|
-
version_requirements:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
36
41
|
- !ruby/object:Gem::Dependency
|
37
42
|
name: pry
|
38
|
-
requirement:
|
39
|
-
none: false
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
40
44
|
requirements:
|
41
|
-
- -
|
45
|
+
- - ">="
|
42
46
|
- !ruby/object:Gem::Version
|
43
47
|
version: '0'
|
44
48
|
type: :development
|
45
49
|
prerelease: false
|
46
|
-
version_requirements:
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
47
55
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement:
|
50
|
-
none: false
|
56
|
+
name: pry-nav
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
51
58
|
requirements:
|
52
|
-
- -
|
59
|
+
- - ">="
|
53
60
|
- !ruby/object:Gem::Version
|
54
61
|
version: '0'
|
55
62
|
type: :development
|
56
63
|
prerelease: false
|
57
|
-
version_requirements:
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
58
69
|
description: Blobject provides a free flowing syntax for creating blobs of data.
|
59
70
|
email:
|
60
71
|
- sjltaylor@gmail.com
|
@@ -62,8 +73,9 @@ executables: []
|
|
62
73
|
extensions: []
|
63
74
|
extra_rdoc_files: []
|
64
75
|
files:
|
65
|
-
- .gitignore
|
66
|
-
- .pryrc
|
76
|
+
- ".gitignore"
|
77
|
+
- ".pryrc"
|
78
|
+
- ".yardopts"
|
67
79
|
- Gemfile
|
68
80
|
- Gemfile.lock
|
69
81
|
- README.markdown
|
@@ -100,29 +112,30 @@ files:
|
|
100
112
|
- spec/sample_data/sample.yaml
|
101
113
|
- spec/sample_data/sample2.json
|
102
114
|
- spec/sample_data/sample2.yaml
|
115
|
+
- spec/sample_data/sample3.json
|
116
|
+
- try_blobject.sh
|
103
117
|
homepage: https://github.com/sjltaylor/blobject
|
104
118
|
licenses: []
|
119
|
+
metadata: {}
|
105
120
|
post_install_message:
|
106
121
|
rdoc_options: []
|
107
122
|
require_paths:
|
108
123
|
- lib
|
109
124
|
required_ruby_version: !ruby/object:Gem::Requirement
|
110
|
-
none: false
|
111
125
|
requirements:
|
112
|
-
- -
|
126
|
+
- - ">="
|
113
127
|
- !ruby/object:Gem::Version
|
114
128
|
version: '0'
|
115
129
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
130
|
requirements:
|
118
|
-
- -
|
131
|
+
- - ">="
|
119
132
|
- !ruby/object:Gem::Version
|
120
133
|
version: '0'
|
121
134
|
requirements: []
|
122
135
|
rubyforge_project: blobject
|
123
|
-
rubygems_version:
|
136
|
+
rubygems_version: 2.2.2
|
124
137
|
signing_key:
|
125
|
-
specification_version:
|
138
|
+
specification_version: 4
|
126
139
|
summary: serializable object builder
|
127
140
|
test_files:
|
128
141
|
- spec/blobject_spec.rb
|
@@ -132,4 +145,4 @@ test_files:
|
|
132
145
|
- spec/sample_data/sample.yaml
|
133
146
|
- spec/sample_data/sample2.json
|
134
147
|
- spec/sample_data/sample2.yaml
|
135
|
-
|
148
|
+
- spec/sample_data/sample3.json
|