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.
@@ -1,3 +1,4 @@
1
1
  class Blobject
2
- VERSION = '0.3.7'
2
+ # semver gem version
3
+ VERSION = '0.4.0'
3
4
  end
data/makefile CHANGED
@@ -1,4 +1,18 @@
1
1
  test:
2
2
  ./spec/exec
3
3
 
4
- .PHONY: test
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
@@ -19,7 +19,7 @@ describe Blobject do
19
19
 
20
20
  end
21
21
 
22
- it 'provides access tot he internal hash with #hash' do
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 'should return true if a prohibited attribute name is a defined method' do
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 'should return false if the methods ends with a !' do
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 'should return true if the blobject has the corresponding member but the accessor has not been memoized' do
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
- it 'does not indicate the boolean status of the value' do
203
- b.fish = false
204
- assert b.fish?
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.freeze_r
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
- end
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
- MiniTest::Unit.runner = MiniTest::SuiteRunner.new
12
- MiniTest::Unit.runner.reporters << MiniTest::Reporters::SpecReporter.new
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
@@ -0,0 +1,4 @@
1
+ set -o errexit
2
+ gem install blobject
3
+ gem install httparty
4
+ irb -r blobject -r httparty
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.3.7
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: 2012-06-16 00:00:00.000000000 Z
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: &70166696947360 !ruby/object:Gem::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: *70166696947360
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: &70166696945620 !ruby/object:Gem::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: *70166696945620
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: &70166696944240 !ruby/object:Gem::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: *70166696944240
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: debugger
49
- requirement: &70166696941040 !ruby/object:Gem::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: *70166696941040
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: 1.8.15
136
+ rubygems_version: 2.2.2
124
137
  signing_key:
125
- specification_version: 3
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
- has_rdoc:
148
+ - spec/sample_data/sample3.json