blobject 0.2.2 → 0.2.3

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.
data/benchmark.rb ADDED
@@ -0,0 +1,71 @@
1
+ require 'benchmark'
2
+ require_relative 'lib/blobject'
3
+
4
+ class A
5
+ attr_accessor :member1
6
+
7
+ def member1=v
8
+ $m1 ||=0
9
+ $m1 += 1
10
+ @member1 = v
11
+ end
12
+ end
13
+
14
+ iterations = 100000
15
+
16
+ a = A.new
17
+ b = blobject
18
+ h = {}
19
+
20
+ value = "VALUE"
21
+
22
+ a.member1 = value
23
+ b.modify { member1 value }
24
+ h[:member1] = value
25
+
26
+ puts "\n\nITERATIONS: #{iterations}\n\n"
27
+ puts "\nBENCHMARK: attr_write\n=====================\n\n"
28
+
29
+ Benchmark.bm do |benchmark|
30
+
31
+ benchmark.report("Object: ") do
32
+ iterations.times do
33
+ a.member1 = value
34
+ end
35
+ end
36
+
37
+ benchmark.report("Hash: ") do
38
+ iterations.times do
39
+ h[:member1] = value
40
+ end
41
+ end
42
+
43
+ benchmark.report("Blobject: ") do
44
+ iterations.times do
45
+ b.modify { member1 value }
46
+ end
47
+ end
48
+ end
49
+
50
+ puts "\n\nBENCHMARK: attr_read\n=====================\n\n"
51
+
52
+ Benchmark.bm do |benchmark|
53
+
54
+ benchmark.report("Object: ") do
55
+ iterations.times do
56
+ v = a.member1
57
+ end
58
+ end
59
+
60
+ benchmark.report("Hash: ") do
61
+ iterations.times do
62
+ v = h[:member1]
63
+ end
64
+ end
65
+
66
+ benchmark.report("Blobject: ") do
67
+ iterations.times do
68
+ v = b.member1
69
+ end
70
+ end
71
+ end
data/benchmark0 ADDED
@@ -0,0 +1,20 @@
1
+ ITERATIONS: 100000
2
+
3
+ BENCHMARK: attr_write
4
+ =====================
5
+
6
+ user system total real
7
+ Object: 0.030000 0.000000 0.030000 ( 0.029947)
8
+ Hash: 0.020000 0.000000 0.020000 ( 0.023872)
9
+ Blobject: 0.690000 0.000000 0.690000 ( 0.690897) ... oof!
10
+
11
+
12
+ BENCHMARK: attr_read
13
+ =====================
14
+
15
+ user system total real
16
+ Object: 0.020000 0.000000 0.020000 ( 0.017419)
17
+ Hash: 0.010000 0.000000 0.010000 ( 0.017054)
18
+ Blobject: 0.180000 0.000000 0.180000 ( 0.182304) ... oof!
19
+
20
+
@@ -1,3 +1,3 @@
1
1
  class Blobject
2
- VERSION = '0.2.2'
2
+ VERSION = '0.2.3'
3
3
  end
@@ -82,6 +82,11 @@ describe Blobject do
82
82
  it 'should allow for nested modification blocks' do
83
83
 
84
84
  blobject.modify do
85
+
86
+ name.middle = 'mittens'
87
+
88
+ # makes sure that previously assigned members can be modified with a block
89
+
85
90
  name do
86
91
  first 'barry'
87
92
  last 'mcdoodle'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blobject
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-30 00:00:00.000000000Z
12
+ date: 2011-10-01 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &2153266040 !ruby/object:Gem::Requirement
16
+ requirement: &2152961620 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2153266040
24
+ version_requirements: *2152961620
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: ruby-debug19
27
- requirement: &2153265100 !ruby/object:Gem::Requirement
27
+ requirement: &2152960320 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2153265100
35
+ version_requirements: *2152960320
36
36
  description: Blobject provides a free flowing syntax for creating blobs of data.
37
37
  email:
38
38
  - sjltaylor@gmail.com
@@ -46,7 +46,8 @@ files:
46
46
  - Gemfile
47
47
  - README.md
48
48
  - Rakefile
49
- - TODO.txt
49
+ - benchmark.rb
50
+ - benchmark0
50
51
  - blobject.gemspec
51
52
  - blobject.png
52
53
  - blobject.psd
data/TODO.txt DELETED
@@ -1,20 +0,0 @@
1
-
2
- EXAMPLES
3
- > to/from yaml
4
- > with controller params
5
- > JSON response
6
- > DSL
7
- > Config
8
- >>> can make config maintainable by translating it
9
-
10
-
11
- > benefits: configuration ease
12
- > using hashes with config/json and active record because of key symbolization
13
-
14
-
15
-
16
- EXTRAS:
17
-
18
- > load_config, monitor for changes
19
-
20
- automatically handle json request params into blobjects