lafcadio 0.4.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/lafcadio.rb +32 -0
- data/lib/lafcadio.rb~ +32 -0
- data/lib/lafcadio/TestSuite.rb +16 -0
- data/lib/lafcadio/dateTime.rb +2 -0
- data/lib/lafcadio/dateTime/Month.rb +93 -0
- data/lib/lafcadio/domain.rb +119 -0
- data/lib/lafcadio/domain.rb~ +119 -0
- data/lib/lafcadio/domain/DomainObject.rb +375 -0
- data/lib/lafcadio/domain/DomainObject.rb~ +371 -0
- data/lib/lafcadio/domain/MapObject.rb +22 -0
- data/lib/lafcadio/domain/ObjectType.rb +80 -0
- data/lib/lafcadio/includer.rb +18 -0
- data/lib/lafcadio/mock.rb +2 -0
- data/lib/lafcadio/mock/MockDbBridge.rb +78 -0
- data/lib/lafcadio/mock/MockDbBridge.rb~ +74 -0
- data/lib/lafcadio/mock/MockObjectStore.rb +20 -0
- data/lib/lafcadio/objectField.rb +14 -0
- data/lib/lafcadio/objectField/AutoIncrementField.rb +25 -0
- data/lib/lafcadio/objectField/BooleanField.rb +83 -0
- data/lib/lafcadio/objectField/DateField.rb +33 -0
- data/lib/lafcadio/objectField/DateTimeField.rb +25 -0
- data/lib/lafcadio/objectField/DecimalField.rb +41 -0
- data/lib/lafcadio/objectField/EmailField.rb +28 -0
- data/lib/lafcadio/objectField/EnumField.rb +62 -0
- data/lib/lafcadio/objectField/FieldValueError.rb +4 -0
- data/lib/lafcadio/objectField/IntegerField.rb +15 -0
- data/lib/lafcadio/objectField/LinkField.rb +92 -0
- data/lib/lafcadio/objectField/LinkField.rb~ +86 -0
- data/lib/lafcadio/objectField/MoneyField.rb +13 -0
- data/lib/lafcadio/objectField/MonthField.rb +16 -0
- data/lib/lafcadio/objectField/ObjectField.rb +142 -0
- data/lib/lafcadio/objectField/PasswordField.rb +29 -0
- data/lib/lafcadio/objectField/StateField.rb +13 -0
- data/lib/lafcadio/objectField/SubsetLinkField.rb +25 -0
- data/lib/lafcadio/objectField/TextField.rb +23 -0
- data/lib/lafcadio/objectField/TextListField.rb +21 -0
- data/lib/lafcadio/objectField/TimeStampField.rb +15 -0
- data/lib/lafcadio/objectStore.rb +100 -0
- data/lib/lafcadio/objectStore/Cache.rb +81 -0
- data/lib/lafcadio/objectStore/Committer.rb +65 -0
- data/lib/lafcadio/objectStore/CouldntMatchObjectTypeError.rb +4 -0
- data/lib/lafcadio/objectStore/DbBridge.rb +140 -0
- data/lib/lafcadio/objectStore/DbBridge.rb~ +140 -0
- data/lib/lafcadio/objectStore/DomainComparable.rb +25 -0
- data/lib/lafcadio/objectStore/DomainObjectInitError.rb +9 -0
- data/lib/lafcadio/objectStore/DomainObjectNotFoundError.rb +4 -0
- data/lib/lafcadio/objectStore/DomainObjectProxy.rb +62 -0
- data/lib/lafcadio/objectStore/DomainObjectSqlMaker.rb +74 -0
- data/lib/lafcadio/objectStore/ObjectStore.rb +207 -0
- data/lib/lafcadio/objectStore/ObjectStore.rb~ +207 -0
- data/lib/lafcadio/objectStore/SqlValueConverter.rb +30 -0
- data/lib/lafcadio/objectStore/SqlValueConverter.rb~ +30 -0
- data/lib/lafcadio/query.rb +203 -0
- data/lib/lafcadio/query/Compare.rb +55 -0
- data/lib/lafcadio/query/CompoundCondition.rb +39 -0
- data/lib/lafcadio/query/Condition.rb +66 -0
- data/lib/lafcadio/query/Condition.rb~ +66 -0
- data/lib/lafcadio/query/Equals.rb +45 -0
- data/lib/lafcadio/query/In.rb +20 -0
- data/lib/lafcadio/query/Like.rb +48 -0
- data/lib/lafcadio/query/Link.rb +20 -0
- data/lib/lafcadio/query/Max.rb +32 -0
- data/lib/lafcadio/query/Max.rb~ +25 -0
- data/lib/lafcadio/query/Not.rb +21 -0
- data/lib/lafcadio/query/Query.rb +92 -0
- data/lib/lafcadio/schema.rb +2 -0
- data/lib/lafcadio/schema/CreateTableStatement.rb +61 -0
- data/lib/lafcadio/schema/CreateTableStatement.rb~ +59 -0
- data/lib/lafcadio/test.rb +2 -0
- data/lib/lafcadio/test/LafcadioTestCase.rb +17 -0
- data/lib/lafcadio/test/testconfig.dat +13 -0
- data/lib/lafcadio/util.rb +180 -0
- data/lib/lafcadio/util/Context.rb +61 -0
- data/lib/lafcadio/util/ContextualService.rb +33 -0
- data/lib/lafcadio/util/English.rb +117 -0
- data/lib/lafcadio/util/HashOfArrays.rb +48 -0
- data/lib/lafcadio/util/LafcadioConfig.rb +25 -0
- data/lib/lafcadio/util/QueueHash.rb +67 -0
- data/lib/lafcadio/util/UsStates.rb +29 -0
- data/lib/lafcadio/xml.rb +2 -0
- metadata +135 -0
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'lafcadio/util/Context'
|
2
|
+
|
3
|
+
module Lafcadio
|
4
|
+
# A ContextualService is a service that is managed by the Context.
|
5
|
+
# ContextualServices are not instantiated normally. Instead, the instance of
|
6
|
+
# such a service may be retrieved by calling the method
|
7
|
+
# < class name >.get< class name >
|
8
|
+
#
|
9
|
+
# For example: ObjectStore.getObjectStore
|
10
|
+
class ContextualService
|
11
|
+
def ContextualService.method_missing(methodId)
|
12
|
+
methodName = methodId.id2name
|
13
|
+
if methodName =~ /^get.*/
|
14
|
+
Context.instance.send(methodName)
|
15
|
+
else
|
16
|
+
super methodId
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
# The +passKey+ needs to be the Context instance, or else this method fails.
|
21
|
+
# Note that this isn't hard security of any kind; it's simply a gentle
|
22
|
+
# reminder to users of a ContextualService that the class should not be
|
23
|
+
# instantiated directly.
|
24
|
+
def initialize(passKey)
|
25
|
+
if passKey.class != Context
|
26
|
+
raise ArgumentError,
|
27
|
+
"#{ self.class.name.to_s } should only be instantiated by a " +
|
28
|
+
"Context",
|
29
|
+
caller
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,117 @@
|
|
1
|
+
module Lafcadio
|
2
|
+
# A collection of English-language specific utility methods.
|
3
|
+
class English
|
4
|
+
# Turns a camel-case string ("camelCaseToEnglish") to plain English ("camel
|
5
|
+
# case to english"). Each word is decapitalized.
|
6
|
+
def English.camelCaseToEnglish(camelCaseStr)
|
7
|
+
words = []
|
8
|
+
nextCapIndex =(camelCaseStr =~ /[A-Z]/)
|
9
|
+
while nextCapIndex != nil
|
10
|
+
words << $` if $`.size > 0
|
11
|
+
camelCaseStr = $& + $'
|
12
|
+
camelCaseStr[0] = camelCaseStr[0..0].downcase
|
13
|
+
nextCapIndex =(camelCaseStr =~ /[A-Z]/)
|
14
|
+
end
|
15
|
+
words << camelCaseStr
|
16
|
+
words.join ' '
|
17
|
+
end
|
18
|
+
|
19
|
+
# Given a format for a template sentence, generates the sentence while
|
20
|
+
# accounting for details such as pluralization and whether to use "a" or
|
21
|
+
# "an".
|
22
|
+
# [format] The format string. Format codes are:
|
23
|
+
# * %num: Number
|
24
|
+
# * %is: Transitive verb. This will be turned into "is" or "are",
|
25
|
+
# depending on <tt>number</tt>.
|
26
|
+
# * %nam: Name. This will be rendered as either singular or
|
27
|
+
# plural, depending on <tt>number</tt>.
|
28
|
+
# * %a: Indefinite article. This will be turned into "a" or "an",
|
29
|
+
# depending on <tt>name</tt>.
|
30
|
+
# [name] The name of the object being described.
|
31
|
+
# [number] The number of the objects being describes.
|
32
|
+
#
|
33
|
+
# Examples:
|
34
|
+
# English.sentence("There %is currently %num %nam", "product category",
|
35
|
+
# 0) -> "There are currently 0 product categories"
|
36
|
+
# English.sentence("There %is currently %num %nam", "product category",
|
37
|
+
# 1) -> "There is currently 1 product category"
|
38
|
+
# English.sentence("Add %a %nam", "invoice") -> "Add an invoice"
|
39
|
+
def English.sentence(format, name, number = 1)
|
40
|
+
sentence = format
|
41
|
+
sentence.gsub!( /%num/, number.to_s )
|
42
|
+
isVerb = number == 1 ? "is" : "are"
|
43
|
+
sentence.gsub!( /%is/, isVerb )
|
44
|
+
name = English.plural name if number != 1
|
45
|
+
sentence.gsub!( /%nam/, name )
|
46
|
+
article = startsWithVowelSound(name) ? 'an' : 'a'
|
47
|
+
sentence.gsub!( /%a/, article )
|
48
|
+
sentence
|
49
|
+
end
|
50
|
+
|
51
|
+
# Does this word start with a vowel sound? "User" and "usury" don't, but
|
52
|
+
# "ugly" does.
|
53
|
+
def English.startsWithVowelSound(word)
|
54
|
+
uSomethingUMatch = word =~ /^u[^aeiuo][aeiou]/
|
55
|
+
# 'user' and 'usury' don't start with a vowel sound
|
56
|
+
word =~ /^[aeiou]/ && !uSomethingUMatch
|
57
|
+
end
|
58
|
+
|
59
|
+
# Given a singular noun, returns the plural form.
|
60
|
+
def English.plural(singular)
|
61
|
+
consonantYPattern = Regexp.new("([^aeiou])y$", Regexp::IGNORECASE)
|
62
|
+
if singular =~ consonantYPattern
|
63
|
+
singular.gsub consonantYPattern, '\1ies'
|
64
|
+
elsif singular =~ /[xs]$/
|
65
|
+
singular + "es"
|
66
|
+
else
|
67
|
+
singular + "s"
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# Returns the proper noun form of a string by capitalizing most of the
|
72
|
+
# words.
|
73
|
+
#
|
74
|
+
# Examples:
|
75
|
+
# English.properNoun("bosnia and herzegovina") ->
|
76
|
+
# "Bosnia and Herzegovina"
|
77
|
+
# English.properNoun("macedonia, the former yugoslav republic of") ->
|
78
|
+
# "Macedonia, the Former Yugoslav Republic of"
|
79
|
+
# English.properNoun("virgin islands, u.s.") ->
|
80
|
+
# "Virgin Islands, U.S."
|
81
|
+
def English.properNoun(string)
|
82
|
+
properNoun = ""
|
83
|
+
while(matchIndex = string =~ /[\. ]/)
|
84
|
+
word = string[0..matchIndex-1]
|
85
|
+
word = word.capitalize unless [ 'and', 'the', 'of' ].index(word) != nil
|
86
|
+
properNoun += word + $&
|
87
|
+
string = string[matchIndex+1..string.length]
|
88
|
+
end
|
89
|
+
word = string
|
90
|
+
word = word.capitalize unless [ 'and', 'the', 'of' ].index(word) != nil
|
91
|
+
properNoun += word
|
92
|
+
properNoun
|
93
|
+
end
|
94
|
+
|
95
|
+
# Given a noun in plural form, returns its singular version.
|
96
|
+
def English.singular(plural)
|
97
|
+
if plural =~ /(.*)ies/
|
98
|
+
$1 + 'y'
|
99
|
+
elsif plural =~ /(.*s)es/
|
100
|
+
$1
|
101
|
+
else
|
102
|
+
plural =~ /(.*)s/
|
103
|
+
$1
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
# Turns an English language string into camel case.
|
108
|
+
def English.englishToCamelCase(englishStr)
|
109
|
+
cc = ""
|
110
|
+
englishStr.split.each { |word|
|
111
|
+
word = word.capitalize unless cc == ''
|
112
|
+
cc = cc += word
|
113
|
+
}
|
114
|
+
cc
|
115
|
+
end
|
116
|
+
end
|
117
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
module Lafcadio
|
2
|
+
class HashOfArrays #:nodoc:
|
3
|
+
def initialize
|
4
|
+
@values = {}
|
5
|
+
end
|
6
|
+
|
7
|
+
def set(key, array)
|
8
|
+
raise "HashOfArrays.[]= needs a value of type Array" if array.class != Array
|
9
|
+
@values[key] = array
|
10
|
+
end
|
11
|
+
|
12
|
+
def []=(key, array)
|
13
|
+
set key, array
|
14
|
+
end
|
15
|
+
|
16
|
+
def getArray(key)
|
17
|
+
array = @values[key]
|
18
|
+
if array == nil
|
19
|
+
array = []
|
20
|
+
@values[key] = array
|
21
|
+
end
|
22
|
+
array
|
23
|
+
end
|
24
|
+
|
25
|
+
def get(key)
|
26
|
+
array = @values[key]
|
27
|
+
array != nil ? array[0] : nil
|
28
|
+
end
|
29
|
+
|
30
|
+
def [](key)
|
31
|
+
getArray key
|
32
|
+
end
|
33
|
+
|
34
|
+
def values
|
35
|
+
values = []
|
36
|
+
@values.values.each { |val| values << val[0] }
|
37
|
+
values
|
38
|
+
end
|
39
|
+
|
40
|
+
def keys
|
41
|
+
@values.keys
|
42
|
+
end
|
43
|
+
|
44
|
+
def each
|
45
|
+
@values.each { |key, array| yield key, array }
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Lafcadio
|
2
|
+
# LafcadioConfig is a Hash that takes its data from the config file. You'll
|
3
|
+
# have to set the location of that file before using it: Use
|
4
|
+
# LafcadioConfig.setFilename.
|
5
|
+
#
|
6
|
+
# LafcadioConfig expects its data to be colon-delimited, one key-value pair
|
7
|
+
# to a line. For example:
|
8
|
+
# dbuser:user
|
9
|
+
# dbpassword:password
|
10
|
+
# dbname:lafcadio_test
|
11
|
+
# dbhost:localhost
|
12
|
+
class LafcadioConfig < Hash
|
13
|
+
def LafcadioConfig.setFilename(filename)
|
14
|
+
@@filename = filename
|
15
|
+
end
|
16
|
+
|
17
|
+
def initialize
|
18
|
+
file = File.new @@filename
|
19
|
+
file.each_line { |line|
|
20
|
+
line.chomp =~ /^(.*?):(.*)$/
|
21
|
+
self[$1] = $2
|
22
|
+
}
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module Lafcadio
|
2
|
+
# An ordered hash: Keys are ordered according to when they were inserted.
|
3
|
+
class QueueHash
|
4
|
+
# Creates a QueueHash with all the elements in <tt>array</tt> as keys, and
|
5
|
+
# each value initially set to be the same as the corresponding key.
|
6
|
+
def QueueHash.newFromArray(array)
|
7
|
+
valueArray = []
|
8
|
+
array.each { |elt|
|
9
|
+
valueArray << elt
|
10
|
+
valueArray << elt
|
11
|
+
}
|
12
|
+
new(*valueArray)
|
13
|
+
end
|
14
|
+
|
15
|
+
# Takes an even number of arguments, and sets each odd-numbered argument to
|
16
|
+
# correspond to the argument immediately afterward. For example:
|
17
|
+
# queueHash = QueueHash.new (1, 2, 3, 4)
|
18
|
+
# queueHash[1] => 2
|
19
|
+
# queueHash[3] => 4
|
20
|
+
def initialize(*values)
|
21
|
+
@pairs = []
|
22
|
+
0.step(values.size-1, 2) { |i| @pairs << [ values[i], values[i+1] ] }
|
23
|
+
end
|
24
|
+
|
25
|
+
def keys
|
26
|
+
keys = []
|
27
|
+
@pairs.each { |pair| keys << pair[0] }
|
28
|
+
keys
|
29
|
+
end
|
30
|
+
|
31
|
+
def values
|
32
|
+
values = []
|
33
|
+
@pairs.each { |pair| values << pair[1] }
|
34
|
+
values
|
35
|
+
end
|
36
|
+
|
37
|
+
def [](key)
|
38
|
+
value = nil
|
39
|
+
@pairs.each { |pair| value = pair[1] if pair[0] == key }
|
40
|
+
value
|
41
|
+
end
|
42
|
+
|
43
|
+
def size
|
44
|
+
@pairs.size
|
45
|
+
end
|
46
|
+
|
47
|
+
def []=(key, value)
|
48
|
+
@pairs << [key, value]
|
49
|
+
end
|
50
|
+
|
51
|
+
def each
|
52
|
+
@pairs.each { |pair| yield pair[0], pair[1] }
|
53
|
+
end
|
54
|
+
|
55
|
+
def ==( otherObj )
|
56
|
+
if otherObj.class == QueueHash && otherObj.size == size
|
57
|
+
match = true
|
58
|
+
(0...size).each { |i|
|
59
|
+
match &&= keys[i] == otherObj.keys[i] && values[i] == otherObj.values[i]
|
60
|
+
}
|
61
|
+
match
|
62
|
+
else
|
63
|
+
false
|
64
|
+
end
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module Lafcadio
|
2
|
+
class UsStates
|
3
|
+
# Returns a QueueHash of states, with two-letter postal codes as keys and
|
4
|
+
# state names as values.
|
5
|
+
def UsStates.states
|
6
|
+
require 'lafcadio/util/QueueHash'
|
7
|
+
QueueHash.new( 'AL', 'Alabama', 'AK', 'Alaska', 'AZ', 'Arizona',
|
8
|
+
'AR', 'Arkansas', 'CA', 'California', 'CO', 'Colorado',
|
9
|
+
'CT', 'Connecticut', 'DE', 'Delaware',
|
10
|
+
'DC', 'District of Columbia', 'FL', 'Florida',
|
11
|
+
'GA', 'Georgia', 'HI', 'Hawaii', 'ID', 'Idaho',
|
12
|
+
'IL', 'Illinois', 'IN', 'Indiana', 'IA', 'Iowa',
|
13
|
+
'KS', 'Kansas', 'KY', 'Kentucky', 'LA', 'Louisiana',
|
14
|
+
'ME', 'Maine', 'MD', 'Maryland', 'MA', 'Massachusetts',
|
15
|
+
'MI', 'Michigan', 'MN', 'Minnesota', 'MS', 'Mississippi',
|
16
|
+
'MO', 'Missouri', 'MT', 'Montana', 'NE', 'Nebraska',
|
17
|
+
'NV', 'Nevada', 'NH', 'New Hampshire',
|
18
|
+
'NJ', 'New Jersey', 'NM', 'New Mexico', 'NY', 'New York',
|
19
|
+
'NC', 'North Carolina', 'ND', 'North Dakota',
|
20
|
+
'OH', 'Ohio', 'OK', 'Oklahoma', 'OR', 'Oregon',
|
21
|
+
'PA', 'Pennsylvania', 'PR', 'Puerto Rico',
|
22
|
+
'RI', 'Rhode Island', 'SC', 'South Carolina',
|
23
|
+
'SD', 'South Dakota', 'TN', 'Tennessee', 'TX', 'Texas',
|
24
|
+
'UT', 'Utah', 'VT', 'Vermont', 'VA', 'Virginia',
|
25
|
+
'WA', 'Washington', 'WV', 'West Virginia',
|
26
|
+
'WI', 'Wisconsin', 'WY', 'Wyoming' )
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/lafcadio/xml.rb
ADDED
metadata
ADDED
@@ -0,0 +1,135 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
rubygems_version: 0.8.1
|
3
|
+
specification_version: 1
|
4
|
+
name: lafcadio
|
5
|
+
version: !ruby/object:Gem::Version
|
6
|
+
version: 0.4.3
|
7
|
+
date: 2004-12-01
|
8
|
+
summary: Lafcadio is an object-relational mapping layer
|
9
|
+
require_paths:
|
10
|
+
- lib
|
11
|
+
author: Francis Hwang
|
12
|
+
email: sera@fhwang.net
|
13
|
+
homepage: http://lafcadio.rubyforge.org/
|
14
|
+
rubyforge_project:
|
15
|
+
description:
|
16
|
+
autorequire: lafcadio
|
17
|
+
default_executable:
|
18
|
+
bindir: bin
|
19
|
+
has_rdoc: false
|
20
|
+
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
21
|
+
requirements:
|
22
|
+
-
|
23
|
+
- ">"
|
24
|
+
- !ruby/object:Gem::Version
|
25
|
+
version: 0.0.0
|
26
|
+
version:
|
27
|
+
platform: ruby
|
28
|
+
files:
|
29
|
+
- lib/lafcadio
|
30
|
+
- lib/lafcadio.rb
|
31
|
+
- lib/lafcadio.rb~
|
32
|
+
- lib/lafcadio/dateTime
|
33
|
+
- lib/lafcadio/dateTime.rb
|
34
|
+
- lib/lafcadio/domain
|
35
|
+
- lib/lafcadio/domain.rb
|
36
|
+
- lib/lafcadio/domain.rb~
|
37
|
+
- lib/lafcadio/includer.rb
|
38
|
+
- lib/lafcadio/mock
|
39
|
+
- lib/lafcadio/mock.rb
|
40
|
+
- lib/lafcadio/objectField
|
41
|
+
- lib/lafcadio/objectField.rb
|
42
|
+
- lib/lafcadio/objectStore
|
43
|
+
- lib/lafcadio/objectStore.rb
|
44
|
+
- lib/lafcadio/query
|
45
|
+
- lib/lafcadio/query.rb
|
46
|
+
- lib/lafcadio/schema
|
47
|
+
- lib/lafcadio/schema.rb
|
48
|
+
- lib/lafcadio/test
|
49
|
+
- lib/lafcadio/test.rb
|
50
|
+
- lib/lafcadio/TestSuite.rb
|
51
|
+
- lib/lafcadio/util
|
52
|
+
- lib/lafcadio/util.rb
|
53
|
+
- lib/lafcadio/xml.rb
|
54
|
+
- lib/lafcadio/dateTime/Month.rb
|
55
|
+
- lib/lafcadio/domain/DomainObject.rb
|
56
|
+
- lib/lafcadio/domain/DomainObject.rb~
|
57
|
+
- lib/lafcadio/domain/MapObject.rb
|
58
|
+
- lib/lafcadio/domain/ObjectType.rb
|
59
|
+
- lib/lafcadio/mock/MockDbBridge.rb
|
60
|
+
- lib/lafcadio/mock/MockDbBridge.rb~
|
61
|
+
- lib/lafcadio/mock/MockObjectStore.rb
|
62
|
+
- lib/lafcadio/objectField/AutoIncrementField.rb
|
63
|
+
- lib/lafcadio/objectField/BooleanField.rb
|
64
|
+
- lib/lafcadio/objectField/DateField.rb
|
65
|
+
- lib/lafcadio/objectField/DateTimeField.rb
|
66
|
+
- lib/lafcadio/objectField/DecimalField.rb
|
67
|
+
- lib/lafcadio/objectField/EmailField.rb
|
68
|
+
- lib/lafcadio/objectField/EnumField.rb
|
69
|
+
- lib/lafcadio/objectField/FieldValueError.rb
|
70
|
+
- lib/lafcadio/objectField/IntegerField.rb
|
71
|
+
- lib/lafcadio/objectField/LinkField.rb
|
72
|
+
- lib/lafcadio/objectField/LinkField.rb~
|
73
|
+
- lib/lafcadio/objectField/MoneyField.rb
|
74
|
+
- lib/lafcadio/objectField/MonthField.rb
|
75
|
+
- lib/lafcadio/objectField/ObjectField.rb
|
76
|
+
- lib/lafcadio/objectField/PasswordField.rb
|
77
|
+
- lib/lafcadio/objectField/StateField.rb
|
78
|
+
- lib/lafcadio/objectField/SubsetLinkField.rb
|
79
|
+
- lib/lafcadio/objectField/TextField.rb
|
80
|
+
- lib/lafcadio/objectField/TextListField.rb
|
81
|
+
- lib/lafcadio/objectField/TimeStampField.rb
|
82
|
+
- lib/lafcadio/objectStore/Cache.rb
|
83
|
+
- lib/lafcadio/objectStore/Committer.rb
|
84
|
+
- lib/lafcadio/objectStore/CouldntMatchObjectTypeError.rb
|
85
|
+
- lib/lafcadio/objectStore/DbBridge.rb
|
86
|
+
- lib/lafcadio/objectStore/DbBridge.rb~
|
87
|
+
- lib/lafcadio/objectStore/DomainComparable.rb
|
88
|
+
- lib/lafcadio/objectStore/DomainObjectInitError.rb
|
89
|
+
- lib/lafcadio/objectStore/DomainObjectNotFoundError.rb
|
90
|
+
- lib/lafcadio/objectStore/DomainObjectProxy.rb
|
91
|
+
- lib/lafcadio/objectStore/DomainObjectSqlMaker.rb
|
92
|
+
- lib/lafcadio/objectStore/ObjectStore.rb
|
93
|
+
- lib/lafcadio/objectStore/ObjectStore.rb~
|
94
|
+
- lib/lafcadio/objectStore/SqlValueConverter.rb
|
95
|
+
- lib/lafcadio/objectStore/SqlValueConverter.rb~
|
96
|
+
- lib/lafcadio/query/Compare.rb
|
97
|
+
- lib/lafcadio/query/CompoundCondition.rb
|
98
|
+
- lib/lafcadio/query/Condition.rb
|
99
|
+
- lib/lafcadio/query/Condition.rb~
|
100
|
+
- lib/lafcadio/query/Equals.rb
|
101
|
+
- lib/lafcadio/query/In.rb
|
102
|
+
- lib/lafcadio/query/Like.rb
|
103
|
+
- lib/lafcadio/query/Link.rb
|
104
|
+
- lib/lafcadio/query/Max.rb
|
105
|
+
- lib/lafcadio/query/Max.rb~
|
106
|
+
- lib/lafcadio/query/Not.rb
|
107
|
+
- lib/lafcadio/query/Query.rb
|
108
|
+
- lib/lafcadio/schema/CreateTableStatement.rb
|
109
|
+
- lib/lafcadio/schema/CreateTableStatement.rb~
|
110
|
+
- lib/lafcadio/test/LafcadioTestCase.rb
|
111
|
+
- lib/lafcadio/test/testconfig.dat
|
112
|
+
- lib/lafcadio/util/Context.rb
|
113
|
+
- lib/lafcadio/util/ContextualService.rb
|
114
|
+
- lib/lafcadio/util/English.rb
|
115
|
+
- lib/lafcadio/util/HashOfArrays.rb
|
116
|
+
- lib/lafcadio/util/LafcadioConfig.rb
|
117
|
+
- lib/lafcadio/util/QueueHash.rb
|
118
|
+
- lib/lafcadio/util/UsStates.rb
|
119
|
+
test_files: []
|
120
|
+
rdoc_options: []
|
121
|
+
extra_rdoc_files: []
|
122
|
+
executables: []
|
123
|
+
extensions: []
|
124
|
+
requirements: []
|
125
|
+
dependencies:
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: log4r
|
128
|
+
version_requirement:
|
129
|
+
version_requirements: !ruby/object:Gem::Version::Requirement
|
130
|
+
requirements:
|
131
|
+
-
|
132
|
+
- ">"
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 0.0.0
|
135
|
+
version:
|