Module: Kamakura
- Defined in:
- lib/kamakura.rb,
lib/kamakura/version.rb,
lib/kamakura/attribute.rb,
lib/kamakura/value_type.rb,
lib/kamakura/collection_type.rb
Defined Under Namespace
Modules: ClassMethods
Classes: Attribute, CollectionType, ValueType
Constant Summary
collapse
- VERSION =
"0.1.0"
- TRUE_VALUES =
[true, "true", 1, "1"].freeze
- DATE_FORMATS =
{
httpdate: ->(value) { Date.httpdate(value) },
iso8601: ->(value) { Date.iso8601(value) },
jd: ->(value) { Date.jd(value) },
jisx8601: ->(value) { Date.jisx8601(value) },
rfc2822: ->(value) { Date.rfc2822(value) },
rfc3339: ->(value) { Date.rfc3339(value) },
rfc822: ->(value) { Date.rfc822(value) },
xmlschema: ->(value) { Date.xmlschema(value) },
}
- DATETIME_FORMATS =
{
httpdate: ->(value) { DateTime.httpdate(value) },
iso8601: ->(value) { DateTime.iso8601(value) },
jd: ->(value) { DateTime.jd(value) },
jisx8601: ->(value) { DateTime.jisx8601(value) },
rfc2822: ->(value) { DateTime.rfc2822(value) },
rfc3339: ->(value) { DateTime.rfc3339(value) },
rfc822: ->(value) { DateTime.rfc822(value) },
xmlschema: ->(value) { DateTime.xmlschema(value) },
}
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.define_value_type(name, &block) ⇒ Object
19
20
21
|
# File 'lib/kamakura/value_type.rb', line 19
def define_value_type(name, &block)
value_type_registory[name] = ValueType.new(&block)
end
|
.included(klass) ⇒ Object
36
37
38
|
# File 'lib/kamakura.rb', line 36
def self.included(klass)
klass.extend(ClassMethods)
end
|
.lookup_value_type(name) ⇒ Object
23
24
25
|
# File 'lib/kamakura/value_type.rb', line 23
def lookup_value_type(name)
value_type_registory[name]
end
|
.value_type_registory ⇒ Object
15
16
17
|
# File 'lib/kamakura/value_type.rb', line 15
def value_type_registory
@value_type_registory ||= {}
end
|
Instance Method Details
#[](name) ⇒ Object
48
49
50
|
# File 'lib/kamakura.rb', line 48
def [](name)
@__attributes[name.to_sym]
end
|
#attributes ⇒ Object
44
45
46
|
# File 'lib/kamakura.rb', line 44
def attributes
@__attributes
end
|
#initialize(attributes = {}) ⇒ Object
40
41
42
|
# File 'lib/kamakura.rb', line 40
def initialize(attributes = {})
@__attributes = parse_attributes(attributes).freeze
end
|