blobject 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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