fauxsql 0.1.0 → 0.1.1

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.0
1
+ 0.1.1
data/fauxsql.gemspec ADDED
@@ -0,0 +1,68 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
+ # -*- encoding: utf-8 -*-
5
+
6
+ Gem::Specification.new do |s|
7
+ s.name = %q{fauxsql}
8
+ s.version = "0.1.1"
9
+
10
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
+ s.authors = ["Collin Miller"]
12
+ s.date = %q{2010-04-20}
13
+ s.description = %q{And description}
14
+ s.email = %q{collintmiller@gmail.com}
15
+ s.extra_rdoc_files = [
16
+ "LICENSE",
17
+ "README.rdoc"
18
+ ]
19
+ s.files = [
20
+ ".document",
21
+ ".gitignore",
22
+ "LICENSE",
23
+ "README.rdoc",
24
+ "Rakefile",
25
+ "VERSION",
26
+ "fauxsql.gemspec",
27
+ "lib/fauxsql.rb",
28
+ "lib/fauxsql/attribute.rb",
29
+ "lib/fauxsql/attribute_list.rb",
30
+ "lib/fauxsql/attribute_map.rb",
31
+ "lib/fauxsql/dereferenced_attribute.rb",
32
+ "lib/fauxsql/dsl.rb",
33
+ "test/helper.rb",
34
+ "test/test_fauxsql.rb"
35
+ ]
36
+ s.homepage = %q{http://github.com/collin/fauxsql}
37
+ s.rdoc_options = ["--charset=UTF-8"]
38
+ s.require_paths = ["lib"]
39
+ s.rubygems_version = %q{1.3.6}
40
+ s.summary = %q{This is summary}
41
+ s.test_files = [
42
+ "test/helper.rb",
43
+ "test/test_fauxsql.rb"
44
+ ]
45
+
46
+ if s.respond_to? :specification_version then
47
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
48
+ s.specification_version = 3
49
+
50
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
51
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
52
+ s.add_runtime_dependency(%q<datamapper>, [">= 0"])
53
+ s.add_runtime_dependency(%q<do_sqlite3>, [">= 0"])
54
+ s.add_runtime_dependency(%q<activesupport>, [">= 3.0.pre"])
55
+ else
56
+ s.add_dependency(%q<shoulda>, [">= 0"])
57
+ s.add_dependency(%q<datamapper>, [">= 0"])
58
+ s.add_dependency(%q<do_sqlite3>, [">= 0"])
59
+ s.add_dependency(%q<activesupport>, [">= 3.0.pre"])
60
+ end
61
+ else
62
+ s.add_dependency(%q<shoulda>, [">= 0"])
63
+ s.add_dependency(%q<datamapper>, [">= 0"])
64
+ s.add_dependency(%q<do_sqlite3>, [">= 0"])
65
+ s.add_dependency(%q<activesupport>, [">= 3.0.pre"])
66
+ end
67
+ end
68
+
@@ -19,11 +19,7 @@ module Fauxsql
19
19
  def last
20
20
  self[length - 1]
21
21
  end
22
-
23
- def each
24
- map_resolved.each { |resolved| yield resolved }
25
- end
26
-
22
+
27
23
  def equals list
28
24
  map_resolved == list
29
25
  end
@@ -15,6 +15,18 @@ module Fauxsql
15
15
  def [] key
16
16
  real_key = Fauxsql.dereference_fauxsql_attribute(key)
17
17
  Fauxsql.resolve_fauxsql_attribute super(real_key.hash)
18
- end
18
+ end
19
+
20
+ # VERY VERY SPECIFIC to the marshal dump format.
21
+ # Probably brittle.
22
+ def keys
23
+ super.map do |key|
24
+ if key.match(/^.+Fauxsql::DereferencedAttribute.+@klass.+@lookup_key.+$/)
25
+ Fauxsql::DereferencedAttribute.load(key)
26
+ else
27
+ key
28
+ end
29
+ end
30
+ end
19
31
  end
20
32
  end
@@ -13,8 +13,13 @@ module Fauxsql
13
13
  @klass.get(*@lookup_key)
14
14
  end
15
15
 
16
- def hash
17
- [@klass, @lookup_key].to_s
16
+ def dump
17
+ Marshal.dump(self)
18
+ end
19
+ alias hash dump
20
+
21
+ def self.load(dump)
22
+ Marshal.load(dump)
18
23
  end
19
24
  end
20
25
  end
data/lib/fauxsql/dsl.rb CHANGED
@@ -11,31 +11,31 @@ module Fauxsql
11
11
  # set_fauxsql_attribute(:power, value)
12
12
  # end
13
13
  def attribute(attribute_name)
14
- class_eval <<EORUBY
15
- def #{attribute_name}
16
- get_fauxsql_attribute(:#{attribute_name})
17
- end
14
+ class_eval <<EORUBY
15
+ def #{attribute_name}
16
+ get_fauxsql_attribute(:#{attribute_name})
17
+ end
18
18
 
19
- def #{attribute_name}=(value)
20
- set_fauxsql_attribute(:#{attribute_name}, value)
21
- end
19
+ def #{attribute_name}=(value)
20
+ set_fauxsql_attribute(:#{attribute_name}, value)
21
+ end
22
22
  EORUBY
23
23
  end
24
24
 
25
- # DSL method to define a named Fauxsql list
25
+ # DSL method to define a named Fauxsql list
26
26
  #
27
27
  # calling with 'squad_members' is like writing:
28
28
  # def squad_members
29
29
  # get_fauxsql_list(:squad_members)
30
- # end
30
+ # end
31
31
  def list(attribute_name)
32
- class_eval <<EORUBY
33
- def #{attribute_name}
34
- get_fauxsql_list(:#{attribute_name})
35
- end
32
+ class_eval <<EORUBY
33
+ def #{attribute_name}
34
+ get_fauxsql_list(:#{attribute_name})
35
+ end
36
36
  EORUBY
37
37
  end
38
-
38
+
39
39
  # DSL method to define a named Fauxsql map
40
40
  #
41
41
  # calling with 'mitigates' is like writing:
@@ -43,10 +43,10 @@ EORUBY
43
43
  # get_fauxsql_map(:mitigates)
44
44
  # end
45
45
  def map(attribute_name)
46
- class_eval <<EORUBY
47
- def #{attribute_name}
48
- get_fauxsql_map(:#{attribute_name})
49
- end
46
+ class_eval <<EORUBY
47
+ def #{attribute_name}
48
+ get_fauxsql_map(:#{attribute_name})
49
+ end
50
50
  EORUBY
51
51
  end
52
52
  end
data/test/test_fauxsql.rb CHANGED
@@ -119,7 +119,7 @@ class TestFauxsql < Test::Unit::TestCase
119
119
  simple1 = SimpleKey.create
120
120
  simple2 = SimpleKey.create
121
121
  @faux.dictionary[simple1] = simple2
122
- assert_equal simple2, @faux.dictionary[simple1]
122
+ assert_equal Fauxsql::DereferencedAttribute, @faux.dictionary.keys.first.class
123
123
  reload
124
124
  assert_equal simple2, @faux.dictionary[simple1]
125
125
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 1
8
- - 0
9
- version: 0.1.0
8
+ - 1
9
+ version: 0.1.1
10
10
  platform: ruby
11
11
  authors:
12
12
  - Collin Miller
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-04-12 00:00:00 -04:00
17
+ date: 2010-04-20 00:00:00 -04:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -83,6 +83,7 @@ files:
83
83
  - README.rdoc
84
84
  - Rakefile
85
85
  - VERSION
86
+ - fauxsql.gemspec
86
87
  - lib/fauxsql.rb
87
88
  - lib/fauxsql/attribute.rb
88
89
  - lib/fauxsql/attribute_list.rb