icss 0.1.3 → 0.3.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.watchr +35 -3
- data/CHANGELOG.md +38 -0
- data/Gemfile +19 -14
- data/README.md +296 -0
- data/Rakefile +2 -6
- data/TODO.md +13 -0
- data/VERSION +1 -1
- data/examples/avro_examples/complicated.icss.yaml +14 -13
- data/examples/bnc.icss.yaml +70 -0
- data/examples/chronic.icss.yaml +3 -3
- data/examples/license.icss.yaml +7 -0
- data/examples/source1.icss.yaml +4 -0
- data/examples/source2.icss.yaml +4 -0
- data/examples/test_icss.yaml +67 -0
- data/icss.gemspec +103 -43
- data/lib/icss.rb +37 -15
- data/lib/icss/core_types.rb +19 -0
- data/lib/icss/error.rb +4 -0
- data/{init.rb → lib/icss/init.rb} +0 -0
- data/lib/icss/message.rb +124 -66
- data/lib/icss/message/message_sample.rb +144 -0
- data/lib/icss/protocol.rb +184 -131
- data/lib/icss/protocol/code_asset.rb +18 -0
- data/lib/icss/protocol/data_asset.rb +23 -0
- data/lib/icss/protocol/license.rb +41 -0
- data/lib/icss/protocol/source.rb +37 -0
- data/lib/icss/protocol/target.rb +68 -0
- data/lib/icss/receiver_model.rb +24 -0
- data/lib/icss/receiver_model/active_model_shim.rb +36 -0
- data/lib/icss/receiver_model/acts_as_catalog.rb +170 -0
- data/lib/icss/receiver_model/acts_as_hash.rb +177 -0
- data/lib/icss/receiver_model/acts_as_loadable.rb +47 -0
- data/lib/icss/receiver_model/acts_as_tuple.rb +100 -0
- data/lib/icss/receiver_model/locale/en.yml +27 -0
- data/lib/icss/receiver_model/to_geo_json.rb +19 -0
- data/lib/icss/receiver_model/tree_merge.rb +34 -0
- data/lib/icss/receiver_model/validations.rb +31 -0
- data/lib/icss/serialization.rb +51 -0
- data/lib/icss/serialization/zaml.rb +443 -0
- data/lib/icss/type.rb +148 -501
- data/lib/icss/type/base_type.rb +0 -0
- data/lib/icss/type/named_type.rb +184 -0
- data/lib/icss/type/record_field.rb +77 -0
- data/lib/icss/type/record_model.rb +49 -0
- data/lib/icss/type/record_schema.rb +54 -0
- data/lib/icss/type/record_type.rb +325 -0
- data/lib/icss/type/simple_types.rb +72 -0
- data/lib/icss/type/structured_schema.rb +288 -0
- data/lib/icss/type/type_factory.rb +144 -0
- data/lib/icss/type/union_schema.rb +41 -0
- data/lib/icss/view_helper.rb +56 -19
- data/notes/named_array.md +32 -0
- data/notes/on_include_vs_extend_etc.rb +176 -0
- data/notes/technical_details.md +278 -0
- data/spec/core_types_spec.rb +119 -0
- data/spec/fixtures/zaml_complex_hash.yaml +35 -0
- data/spec/icss_spec.rb +86 -23
- data/spec/message/message_sample_spec.rb +4 -0
- data/spec/message_spec.rb +139 -0
- data/spec/protocol/license_spec.rb +67 -0
- data/spec/protocol/protocol_catalog_spec.rb +48 -0
- data/spec/protocol/protocol_validations_spec.rb +176 -0
- data/spec/protocol/source_spec.rb +65 -0
- data/spec/protocol_spec.rb +91 -37
- data/spec/receiver_model_spec.rb +111 -0
- data/spec/serialization/zaml_spec.rb +81 -0
- data/spec/serialization/zaml_test.rb +473 -0
- data/spec/serialization_spec.rb +63 -0
- data/spec/spec_helper.rb +24 -7
- data/spec/support/icss_test_helper.rb +67 -0
- data/spec/support/load_example_protocols.rb +17 -0
- data/spec/type/base_type_spec.rb +0 -0
- data/spec/type/named_type_spec.rb +75 -0
- data/spec/type/record_field_spec.rb +44 -0
- data/spec/type/record_model_spec.rb +206 -0
- data/spec/type/record_schema_spec.rb +161 -0
- data/spec/type/record_type_spec.rb +155 -0
- data/spec/type/simple_types_spec.rb +121 -0
- data/spec/type/structured_schema_spec.rb +300 -0
- data/spec/type/type_catalog_spec.rb +44 -0
- data/spec/type/type_factory_spec.rb +93 -0
- data/spec/type/union_schema_spec.rb +0 -0
- data/spec/type_spec.rb +63 -0
- metadata +205 -144
- data/CHANGELOG.textile +0 -9
- data/Gemfile.lock +0 -40
- data/README.textile +0 -29
- data/lib/icss/brevity.rb +0 -136
- data/lib/icss/code_asset.rb +0 -16
- data/lib/icss/core_ext.rb +0 -9
- data/lib/icss/data_asset.rb +0 -22
- data/lib/icss/old.rb +0 -96
- data/lib/icss/protocol_set.rb +0 -48
- data/lib/icss/sample_message_call.rb +0 -142
- data/lib/icss/target.rb +0 -72
- data/lib/icss/type/factory.rb +0 -196
- data/lib/icss/validations.rb +0 -16
- data/spec/validations_spec.rb +0 -171
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.3.2
|
@@ -81,14 +81,15 @@ types:
|
|
81
81
|
type: your_mom
|
82
82
|
doc: wears combat boots
|
83
83
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
84
|
+
- name: field_that_is_an_array
|
85
|
+
type: array
|
86
|
+
items: int
|
87
|
+
doc: I am an array of primitives
|
88
|
+
- name: field_that_is_a_named_type_holy_fuck
|
89
|
+
type:
|
90
|
+
- type: array
|
91
|
+
items: your_mom
|
92
|
+
doc: I am an array of Iccs::Type::YourMomType
|
92
93
|
|
93
94
|
- name: chronic_parse_response
|
94
95
|
type: record
|
@@ -107,11 +108,11 @@ types:
|
|
107
108
|
doc: >-
|
108
109
|
Your params, right back atcha'
|
109
110
|
type: string # map
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
111
|
+
- name: errors
|
112
|
+
doc: >-
|
113
|
+
Error conditions
|
114
|
+
type: array
|
115
|
+
optional: true
|
115
116
|
- name: whatever
|
116
117
|
doc: dummy string
|
117
118
|
type:
|
@@ -0,0 +1,70 @@
|
|
1
|
+
---
|
2
|
+
namespace: language.corpora.word_freq
|
3
|
+
protocol: bnc
|
4
|
+
|
5
|
+
targets:
|
6
|
+
catalog:
|
7
|
+
- name: word_freq_bnc
|
8
|
+
title: Word Frequencies From the British National Corpus
|
9
|
+
description: foobar
|
10
|
+
tags:
|
11
|
+
- bnc
|
12
|
+
- british-national-corpus
|
13
|
+
- awesomeapi
|
14
|
+
- token
|
15
|
+
- word
|
16
|
+
- corpus
|
17
|
+
- word-frequency
|
18
|
+
- british
|
19
|
+
- words
|
20
|
+
- language
|
21
|
+
messages:
|
22
|
+
- word_stats
|
23
|
+
|
24
|
+
messages:
|
25
|
+
word_stats:
|
26
|
+
request:
|
27
|
+
- name: word_stats_request
|
28
|
+
type: word_stats_request
|
29
|
+
response: word_statistics_record
|
30
|
+
doc: Query on a head word to get back word statistics (and word variants) from the British National Corpus.
|
31
|
+
|
32
|
+
data_assets:
|
33
|
+
- name: word_stats_data_asset
|
34
|
+
location: data/word_stats
|
35
|
+
type: word_statistics_record
|
36
|
+
|
37
|
+
code_assets:
|
38
|
+
- location: code/bnc_endpoint.rb
|
39
|
+
name: word_stats
|
40
|
+
|
41
|
+
types:
|
42
|
+
|
43
|
+
|
44
|
+
- name: test_record
|
45
|
+
doc: A record for testing
|
46
|
+
type: record
|
47
|
+
fields:
|
48
|
+
- name: name
|
49
|
+
doc: A person's name.
|
50
|
+
type: string
|
51
|
+
- name: age
|
52
|
+
doc: A person's age.
|
53
|
+
type: whatever
|
54
|
+
- name: email
|
55
|
+
doc: A person's email address
|
56
|
+
type: string
|
57
|
+
validates:
|
58
|
+
:length:
|
59
|
+
:maximum: 10
|
60
|
+
|
61
|
+
- name: whatever
|
62
|
+
doc: lkajd
|
63
|
+
type: record
|
64
|
+
fields:
|
65
|
+
- name: f
|
66
|
+
doc: bar
|
67
|
+
type: place
|
68
|
+
|
69
|
+
- name: place
|
70
|
+
|
data/examples/chronic.icss.yaml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
---
|
2
|
-
namespace:
|
2
|
+
namespace: st.time_utils
|
3
3
|
protocol: chronic
|
4
4
|
|
5
5
|
doc: >-
|
@@ -11,7 +11,7 @@ code_assets:
|
|
11
11
|
|
12
12
|
targets:
|
13
13
|
catalog:
|
14
|
-
- name:
|
14
|
+
- name: st_time_utils_chronic_parse
|
15
15
|
title: Utils - Parse Times
|
16
16
|
description: An API call to parse human-readable date / time strings
|
17
17
|
messages:
|
@@ -29,7 +29,7 @@ targets:
|
|
29
29
|
types:
|
30
30
|
- name: chronic_parse_params
|
31
31
|
type: record
|
32
|
-
doc: Query API parameters for the /
|
32
|
+
doc: Query API parameters for the /st/time_utils/chronic/parse call
|
33
33
|
fields:
|
34
34
|
- name: time_str
|
35
35
|
type: string
|
@@ -0,0 +1,67 @@
|
|
1
|
+
---
|
2
|
+
namespace: foo.bar
|
3
|
+
protocol: baz
|
4
|
+
types:
|
5
|
+
|
6
|
+
- name: test_simple_type
|
7
|
+
doc: A record to test simple record types.
|
8
|
+
type: record
|
9
|
+
fields:
|
10
|
+
- name: my_happy_string
|
11
|
+
doc: field 1
|
12
|
+
type: string
|
13
|
+
- name: my_happy_int
|
14
|
+
doc: field 2
|
15
|
+
type: int
|
16
|
+
- name: my_happy_boolean
|
17
|
+
doc: field 3
|
18
|
+
type: boolean
|
19
|
+
|
20
|
+
- name: test_ref_type
|
21
|
+
doc: A record to test referenced types.
|
22
|
+
type: record
|
23
|
+
fields:
|
24
|
+
- name: ref_field
|
25
|
+
doc: A field that references a type.
|
26
|
+
type: icss.core.place
|
27
|
+
|
28
|
+
- name: test_is_a_method
|
29
|
+
doc: A record to test the is_a method.
|
30
|
+
type: record
|
31
|
+
is_a:
|
32
|
+
- icss.core.place
|
33
|
+
fields:
|
34
|
+
- name: additional_field
|
35
|
+
doc: A field to test the ability to add additional fields with the is_a method.
|
36
|
+
type: int
|
37
|
+
- name: description
|
38
|
+
doc: A field to test the override of is_a properties.
|
39
|
+
type: string
|
40
|
+
|
41
|
+
- name: test_identifiers
|
42
|
+
doc: A record to test the identifier methods.
|
43
|
+
type: record
|
44
|
+
domain_id: ssn
|
45
|
+
fields:
|
46
|
+
- name: name
|
47
|
+
doc: A field that is NOT an identifier.
|
48
|
+
type: string
|
49
|
+
- name: age
|
50
|
+
doc: A field that IS an identifier.
|
51
|
+
type: int
|
52
|
+
identifier: true
|
53
|
+
- name: ssn
|
54
|
+
doc: A field to test the domain_id.
|
55
|
+
type: int
|
56
|
+
identifier: true
|
57
|
+
|
58
|
+
- name: test_validators
|
59
|
+
doc: A record to test validations.
|
60
|
+
type: record
|
61
|
+
fields:
|
62
|
+
- name: homepage
|
63
|
+
doc: A field needing formatting validation.
|
64
|
+
type: string
|
65
|
+
validates:
|
66
|
+
format:
|
67
|
+
with: "/[\w+]\.[com?|org|net]/"
|
data/icss.gemspec
CHANGED
@@ -4,27 +4,26 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.1
|
7
|
+
s.name = "icss"
|
8
|
+
s.version = "0.3.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Philip (flip) Kromer for Infochimps"]
|
12
|
-
s.date =
|
13
|
-
s.description =
|
14
|
-
s.email =
|
12
|
+
s.date = "2011-11-09"
|
13
|
+
s.description = "Infochimps Simple Schema library: an avro-compatible data description standard. ICSS completely describes a collection of data (and associated assets) in a way that is expressive, scalable and sufficient to drive remarkably complex downstream processes."
|
14
|
+
s.email = "coders@infochimps.com"
|
15
15
|
s.extra_rdoc_files = [
|
16
16
|
"LICENSE.textile",
|
17
|
-
"README.
|
17
|
+
"README.md"
|
18
18
|
]
|
19
19
|
s.files = [
|
20
20
|
".document",
|
21
21
|
".rspec",
|
22
22
|
".watchr",
|
23
|
-
"CHANGELOG.
|
23
|
+
"CHANGELOG.md",
|
24
24
|
"Gemfile",
|
25
|
-
"Gemfile.lock",
|
26
25
|
"LICENSE.textile",
|
27
|
-
"README.
|
26
|
+
"README.md",
|
28
27
|
"Rakefile",
|
29
28
|
"TODO.md",
|
30
29
|
"VERSION",
|
@@ -41,71 +40,132 @@ Gem::Specification.new do |s|
|
|
41
40
|
"examples/avro_examples/org/apache/avro/mapred/tether/OutputProtocol.avpr",
|
42
41
|
"examples/avro_examples/simple.avpr",
|
43
42
|
"examples/avro_examples/weather.avsc",
|
43
|
+
"examples/bnc.icss.yaml",
|
44
44
|
"examples/chronic.icss.yaml",
|
45
|
+
"examples/license.icss.yaml",
|
46
|
+
"examples/source1.icss.yaml",
|
47
|
+
"examples/source2.icss.yaml",
|
48
|
+
"examples/test_icss.yaml",
|
45
49
|
"icss.gemspec",
|
46
50
|
"icss_specification.textile",
|
47
|
-
"init.rb",
|
48
51
|
"lib/icss.rb",
|
49
|
-
"lib/icss/
|
50
|
-
"lib/icss/
|
51
|
-
"lib/icss/
|
52
|
-
"lib/icss/data_asset.rb",
|
52
|
+
"lib/icss/core_types.rb",
|
53
|
+
"lib/icss/error.rb",
|
54
|
+
"lib/icss/init.rb",
|
53
55
|
"lib/icss/message.rb",
|
54
|
-
"lib/icss/
|
56
|
+
"lib/icss/message/message_sample.rb",
|
55
57
|
"lib/icss/protocol.rb",
|
56
|
-
"lib/icss/
|
57
|
-
"lib/icss/
|
58
|
-
"lib/icss/
|
58
|
+
"lib/icss/protocol/code_asset.rb",
|
59
|
+
"lib/icss/protocol/data_asset.rb",
|
60
|
+
"lib/icss/protocol/license.rb",
|
61
|
+
"lib/icss/protocol/source.rb",
|
62
|
+
"lib/icss/protocol/target.rb",
|
63
|
+
"lib/icss/receiver_model.rb",
|
64
|
+
"lib/icss/receiver_model/active_model_shim.rb",
|
65
|
+
"lib/icss/receiver_model/acts_as_catalog.rb",
|
66
|
+
"lib/icss/receiver_model/acts_as_hash.rb",
|
67
|
+
"lib/icss/receiver_model/acts_as_loadable.rb",
|
68
|
+
"lib/icss/receiver_model/acts_as_tuple.rb",
|
69
|
+
"lib/icss/receiver_model/locale/en.yml",
|
70
|
+
"lib/icss/receiver_model/to_geo_json.rb",
|
71
|
+
"lib/icss/receiver_model/tree_merge.rb",
|
72
|
+
"lib/icss/receiver_model/validations.rb",
|
73
|
+
"lib/icss/serialization.rb",
|
74
|
+
"lib/icss/serialization/zaml.rb",
|
59
75
|
"lib/icss/type.rb",
|
60
|
-
"lib/icss/type/
|
61
|
-
"lib/icss/
|
76
|
+
"lib/icss/type/base_type.rb",
|
77
|
+
"lib/icss/type/named_type.rb",
|
78
|
+
"lib/icss/type/record_field.rb",
|
79
|
+
"lib/icss/type/record_model.rb",
|
80
|
+
"lib/icss/type/record_schema.rb",
|
81
|
+
"lib/icss/type/record_type.rb",
|
82
|
+
"lib/icss/type/simple_types.rb",
|
83
|
+
"lib/icss/type/structured_schema.rb",
|
84
|
+
"lib/icss/type/type_factory.rb",
|
85
|
+
"lib/icss/type/union_schema.rb",
|
62
86
|
"lib/icss/view_helper.rb",
|
87
|
+
"notes/named_array.md",
|
88
|
+
"notes/on_include_vs_extend_etc.rb",
|
89
|
+
"notes/technical_details.md",
|
90
|
+
"spec/core_types_spec.rb",
|
91
|
+
"spec/fixtures/zaml_complex_hash.yaml",
|
63
92
|
"spec/icss_spec.rb",
|
93
|
+
"spec/message/message_sample_spec.rb",
|
94
|
+
"spec/message_spec.rb",
|
95
|
+
"spec/protocol/license_spec.rb",
|
96
|
+
"spec/protocol/protocol_catalog_spec.rb",
|
97
|
+
"spec/protocol/protocol_validations_spec.rb",
|
98
|
+
"spec/protocol/source_spec.rb",
|
64
99
|
"spec/protocol_spec.rb",
|
100
|
+
"spec/receiver_model_spec.rb",
|
101
|
+
"spec/serialization/zaml_spec.rb",
|
102
|
+
"spec/serialization/zaml_test.rb",
|
103
|
+
"spec/serialization_spec.rb",
|
65
104
|
"spec/spec_helper.rb",
|
66
|
-
"spec/
|
105
|
+
"spec/support/icss_test_helper.rb",
|
106
|
+
"spec/support/load_example_protocols.rb",
|
107
|
+
"spec/type/base_type_spec.rb",
|
108
|
+
"spec/type/named_type_spec.rb",
|
109
|
+
"spec/type/record_field_spec.rb",
|
110
|
+
"spec/type/record_model_spec.rb",
|
111
|
+
"spec/type/record_schema_spec.rb",
|
112
|
+
"spec/type/record_type_spec.rb",
|
113
|
+
"spec/type/simple_types_spec.rb",
|
114
|
+
"spec/type/structured_schema_spec.rb",
|
115
|
+
"spec/type/type_catalog_spec.rb",
|
116
|
+
"spec/type/type_factory_spec.rb",
|
117
|
+
"spec/type/union_schema_spec.rb",
|
118
|
+
"spec/type_spec.rb"
|
67
119
|
]
|
68
|
-
s.homepage =
|
120
|
+
s.homepage = "http://github.com/mrflip/icss"
|
69
121
|
s.licenses = ["MIT"]
|
70
122
|
s.require_paths = ["lib"]
|
71
|
-
s.rubygems_version =
|
72
|
-
s.summary =
|
73
|
-
s.test_files = [
|
74
|
-
"spec/icss_spec.rb",
|
75
|
-
"spec/protocol_spec.rb",
|
76
|
-
"spec/spec_helper.rb",
|
77
|
-
"spec/validations_spec.rb"
|
78
|
-
]
|
123
|
+
s.rubygems_version = "1.8.11"
|
124
|
+
s.summary = "Infochimps Simple Schema library: an avro-compatible data description standard. ICSS completely describes a collection of data (and associated assets) in a way that is expressive, scalable and sufficient to drive remarkably complex downstream processes."
|
79
125
|
|
80
126
|
if s.respond_to? :specification_version then
|
81
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
82
127
|
s.specification_version = 3
|
83
128
|
|
84
129
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
85
|
-
s.add_runtime_dependency(%q<
|
130
|
+
s.add_runtime_dependency(%q<json>, [">= 0"])
|
86
131
|
s.add_runtime_dependency(%q<activemodel>, ["~> 3.0.9"])
|
87
|
-
s.
|
132
|
+
s.add_runtime_dependency(%q<addressable>, ["~> 2.2"])
|
133
|
+
s.add_runtime_dependency(%q<configliere>, ["~> 0.4.8"])
|
134
|
+
s.add_runtime_dependency(%q<gorillib>, ["~> 0.1.7"])
|
135
|
+
s.add_runtime_dependency(%q<addressable>, ["~> 2.2"])
|
136
|
+
s.add_development_dependency(%q<bundler>, ["~> 1"])
|
137
|
+
s.add_development_dependency(%q<jeweler>, ["~> 1.6.4"])
|
88
138
|
s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
|
89
|
-
s.add_development_dependency(%q<
|
90
|
-
s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
|
139
|
+
s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
|
91
140
|
s.add_development_dependency(%q<rcov>, [">= 0"])
|
141
|
+
s.add_development_dependency(%q<awesome_print>, ["~> 0.4.0"])
|
92
142
|
else
|
93
|
-
s.add_dependency(%q<
|
143
|
+
s.add_dependency(%q<json>, [">= 0"])
|
94
144
|
s.add_dependency(%q<activemodel>, ["~> 3.0.9"])
|
95
|
-
s.add_dependency(%q<
|
145
|
+
s.add_dependency(%q<addressable>, ["~> 2.2"])
|
146
|
+
s.add_dependency(%q<configliere>, ["~> 0.4.8"])
|
147
|
+
s.add_dependency(%q<gorillib>, ["~> 0.1.7"])
|
148
|
+
s.add_dependency(%q<addressable>, ["~> 2.2"])
|
149
|
+
s.add_dependency(%q<bundler>, ["~> 1"])
|
150
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
96
151
|
s.add_dependency(%q<yard>, ["~> 0.6.0"])
|
97
|
-
s.add_dependency(%q<
|
98
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
152
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
99
153
|
s.add_dependency(%q<rcov>, [">= 0"])
|
154
|
+
s.add_dependency(%q<awesome_print>, ["~> 0.4.0"])
|
100
155
|
end
|
101
156
|
else
|
102
|
-
s.add_dependency(%q<
|
157
|
+
s.add_dependency(%q<json>, [">= 0"])
|
103
158
|
s.add_dependency(%q<activemodel>, ["~> 3.0.9"])
|
104
|
-
s.add_dependency(%q<
|
159
|
+
s.add_dependency(%q<addressable>, ["~> 2.2"])
|
160
|
+
s.add_dependency(%q<configliere>, ["~> 0.4.8"])
|
161
|
+
s.add_dependency(%q<gorillib>, ["~> 0.1.7"])
|
162
|
+
s.add_dependency(%q<addressable>, ["~> 2.2"])
|
163
|
+
s.add_dependency(%q<bundler>, ["~> 1"])
|
164
|
+
s.add_dependency(%q<jeweler>, ["~> 1.6.4"])
|
105
165
|
s.add_dependency(%q<yard>, ["~> 0.6.0"])
|
106
|
-
s.add_dependency(%q<
|
107
|
-
s.add_dependency(%q<jeweler>, ["~> 1.5.2"])
|
166
|
+
s.add_dependency(%q<rspec>, ["~> 2.3.0"])
|
108
167
|
s.add_dependency(%q<rcov>, [">= 0"])
|
168
|
+
s.add_dependency(%q<awesome_print>, ["~> 0.4.0"])
|
109
169
|
end
|
110
170
|
end
|
111
171
|
|
data/lib/icss.rb
CHANGED
@@ -1,28 +1,50 @@
|
|
1
1
|
require 'gorillib/object/blank'
|
2
|
+
require 'gorillib/object/try_dup'
|
2
3
|
require 'gorillib/string/inflections'
|
3
4
|
require 'gorillib/string/constantize'
|
4
5
|
require 'gorillib/array/compact_blank'
|
5
6
|
require 'gorillib/array/extract_options'
|
7
|
+
require 'gorillib/hashlike'
|
8
|
+
require 'gorillib/hashlike/tree_merge'
|
6
9
|
require 'gorillib/hash/compact'
|
7
10
|
require 'gorillib/hash/keys'
|
8
11
|
require 'gorillib/hash/tree_merge'
|
9
12
|
require 'gorillib/metaprogramming/class_attribute'
|
10
|
-
|
13
|
+
require 'gorillib/serialization'
|
11
14
|
require 'gorillib/hashlike'
|
12
|
-
require 'gorillib/receiver'
|
13
|
-
require 'gorillib/receiver_model'
|
14
15
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
#
|
19
|
-
require 'icss/
|
20
|
-
require 'icss/
|
16
|
+
#
|
17
|
+
require 'configliere'
|
18
|
+
Settings.define :catalog_root, :type => :filename, :default => (defined?(Rails) ? (Rails.root+'catalog') : File.expand_path('../../infochimps_catalog', __FILE__))
|
19
|
+
#
|
20
|
+
require 'icss/error'
|
21
|
+
require 'icss/receiver_model/acts_as_hash'
|
22
|
+
require 'icss/receiver_model/acts_as_loadable'
|
23
|
+
require 'icss/receiver_model/acts_as_catalog'
|
24
|
+
require 'icss/receiver_model/active_model_shim'
|
25
|
+
require 'icss/receiver_model/validations'
|
26
|
+
require 'icss/receiver_model/acts_as_tuple'
|
27
|
+
#
|
28
|
+
require 'icss/type' #
|
29
|
+
require 'icss/type/simple_types' # Boolean, Integer, ...
|
30
|
+
require 'icss/type/named_type' # class methods for a named type: .metamodel .doc, .fullname, &c
|
31
|
+
require 'icss/type/record_type' # class methods for a record model: .field, .receive,
|
32
|
+
require 'icss/type/record_model' # instance methods for a record model
|
33
|
+
#
|
34
|
+
require 'icss/type/type_factory' #
|
35
|
+
require 'icss/type/structured_schema' # generate type from array, hash, &c schema
|
36
|
+
require 'icss/type/union_schema' # factory for instances based on type
|
37
|
+
require 'icss/type/record_schema'
|
38
|
+
require 'icss/type/record_field'
|
39
|
+
#
|
40
|
+
require 'icss/receiver_model'
|
41
|
+
require 'icss/serialization'
|
42
|
+
#
|
21
43
|
require 'icss/message'
|
22
|
-
require 'icss/
|
23
|
-
require 'icss/
|
24
|
-
require 'icss/
|
25
|
-
require 'icss/
|
44
|
+
require 'icss/protocol/data_asset'
|
45
|
+
require 'icss/protocol/code_asset'
|
46
|
+
require 'icss/protocol/target'
|
47
|
+
require 'icss/protocol/license'
|
48
|
+
require 'icss/protocol/source'
|
26
49
|
require 'icss/protocol'
|
27
|
-
|
28
|
-
require 'icss/type/factory'
|
50
|
+
require 'icss/message/message_sample'
|