hashmodel 0.3.1 → 0.4.0.beta1
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/Gemfile.lock +13 -14
- data/README.markdown +63 -10
- data/hashmodel.gemspec +6 -0
- data/lib/hash_model/hash_model.rb +86 -116
- data/lib/hash_model/version.rb +3 -3
- data/lib/hashmodel.rb +2 -2
- data/spec/hash_model/_marshelling_spec.rb +4 -5
- data/spec/hash_model/hash_model_spec.rb +4 -987
- data/spec/spec_helper.rb +3 -28
- metadata +13 -13
data/spec/spec_helper.rb
CHANGED
@@ -1,35 +1,10 @@
|
|
1
1
|
$: << '.'
|
2
|
-
|
3
|
-
require 'hashmodel'
|
2
|
+
$:.unshift File.expand_path(File.join(File.dirname(__FILE__), "/../lib"))
|
4
3
|
require 'rspec'
|
5
4
|
require 'rspec/matchers'
|
5
|
+
require 'hashmodel'
|
6
6
|
|
7
|
-
#
|
8
|
-
# e.g. new_class = create_class "Dummy", {:x=>"x", :y=>String, :z=>["1",2,:three]}
|
9
|
-
def create_proc_tester(property_value_hash)
|
10
|
-
proc_test = Class.new.new
|
11
|
-
|
12
|
-
# Add an evaluator method to make it more clear what we are doing
|
13
|
-
proc_test.class.class_eval do
|
14
|
-
define_method(:xql?) { |&block| instance_eval &block }
|
15
|
-
end
|
16
|
-
|
17
|
-
# Add the property values to this instance of the class
|
18
|
-
property_value_hash.each do |key, value|
|
19
|
-
proc_test.instance_variable_set("@#{key}", value)
|
20
|
-
end
|
7
|
+
Dir["#{File.expand_path(File.join(File.dirname(__FILE__)))}/support/**/*.rb"].map {|f| require f}
|
21
8
|
|
22
|
-
proc_test
|
23
|
-
end
|
24
9
|
|
25
10
|
|
26
|
-
# Debug print
|
27
|
-
module Kernel
|
28
|
-
def dp(value)
|
29
|
-
puts ""
|
30
|
-
puts "*" * 40
|
31
|
-
puts value
|
32
|
-
puts "&" * 40
|
33
|
-
puts ""
|
34
|
-
end
|
35
|
-
end
|
metadata
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hashmodel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.4.0.beta1
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Mike Bethany
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2011-03-
|
12
|
+
date: 2011-03-19 00:00:00.000000000 -04:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: sourcify
|
17
|
-
requirement: &
|
17
|
+
requirement: &2157841220 !ruby/object:Gem::Requirement
|
18
18
|
none: false
|
19
19
|
requirements:
|
20
20
|
- - ! '>='
|
@@ -22,10 +22,10 @@ dependencies:
|
|
22
22
|
version: '0'
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
|
-
version_requirements: *
|
25
|
+
version_requirements: *2157841220
|
26
26
|
- !ruby/object:Gem::Dependency
|
27
27
|
name: file-tail
|
28
|
-
requirement: &
|
28
|
+
requirement: &2157840800 !ruby/object:Gem::Requirement
|
29
29
|
none: false
|
30
30
|
requirements:
|
31
31
|
- - ! '>='
|
@@ -33,10 +33,10 @@ dependencies:
|
|
33
33
|
version: '0'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
|
-
version_requirements: *
|
36
|
+
version_requirements: *2157840800
|
37
37
|
- !ruby/object:Gem::Dependency
|
38
38
|
name: rspec
|
39
|
-
requirement: &
|
39
|
+
requirement: &2157840380 !ruby/object:Gem::Requirement
|
40
40
|
none: false
|
41
41
|
requirements:
|
42
42
|
- - ! '>='
|
@@ -44,10 +44,10 @@ dependencies:
|
|
44
44
|
version: '0'
|
45
45
|
type: :development
|
46
46
|
prerelease: false
|
47
|
-
version_requirements: *
|
47
|
+
version_requirements: *2157840380
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
49
|
name: cucumber
|
50
|
-
requirement: &
|
50
|
+
requirement: &2157839940 !ruby/object:Gem::Requirement
|
51
51
|
none: false
|
52
52
|
requirements:
|
53
53
|
- - ! '>='
|
@@ -55,7 +55,7 @@ dependencies:
|
|
55
55
|
version: '0'
|
56
56
|
type: :development
|
57
57
|
prerelease: false
|
58
|
-
version_requirements: *
|
58
|
+
version_requirements: *2157839940
|
59
59
|
description: A simple MVC type model class for storing records based on nested hashes
|
60
60
|
as an array of hashes. You can store deeply nested hashes and still easily flatten
|
61
61
|
and query the records using flattened field names.
|
@@ -120,9 +120,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
120
120
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
121
|
none: false
|
122
122
|
requirements:
|
123
|
-
- - ! '
|
123
|
+
- - ! '>'
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version:
|
125
|
+
version: 1.3.1
|
126
126
|
requirements: []
|
127
127
|
rubyforge_project:
|
128
128
|
rubygems_version: 1.6.2
|