icss 0.1.1 → 0.1.2

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 CHANGED
@@ -3,7 +3,6 @@ source "http://rubygems.org"
3
3
  # Example:
4
4
  # gem "activesupport", ">= 2.3.5"
5
5
 
6
- gem 'yajl-ruby', "~> 0.8.2"
7
6
  gem 'gorillib', "~> 0.1.1"
8
7
 
9
8
  # Add dependencies to develop your gem here.
data/Gemfile.lock CHANGED
@@ -18,7 +18,6 @@ GEM
18
18
  rspec-expectations (2.3.0)
19
19
  diff-lcs (~> 1.1.2)
20
20
  rspec-mocks (2.3.0)
21
- yajl-ruby (0.8.2)
22
21
  yard (0.6.8)
23
22
 
24
23
  PLATFORMS
@@ -30,5 +29,4 @@ DEPENDENCIES
30
29
  jeweler (~> 1.5.2)
31
30
  rcov
32
31
  rspec (~> 2.3.0)
33
- yajl-ruby (~> 0.8.2)
34
32
  yard (~> 0.6.0)
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
data/icss.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{icss}
8
- s.version = "0.1.1"
8
+ s.version = "0.1.2"
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 = %q{2011-06-10}
12
+ s.date = %q{2011-07-08}
13
13
  s.description = %q{Infochimps Stupid 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
14
  s.email = %q{coders@infochimps.com}
15
15
  s.extra_rdoc_files = [
@@ -66,7 +66,7 @@ Gem::Specification.new do |s|
66
66
  s.homepage = %q{http://github.com/mrflip/icss}
67
67
  s.licenses = ["MIT"]
68
68
  s.require_paths = ["lib"]
69
- s.rubygems_version = %q{1.7.2}
69
+ s.rubygems_version = %q{1.3.7}
70
70
  s.summary = %q{Infochimps Stupid 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.}
71
71
  s.test_files = [
72
72
  "spec/icss_spec.rb",
@@ -75,10 +75,10 @@ Gem::Specification.new do |s|
75
75
  ]
76
76
 
77
77
  if s.respond_to? :specification_version then
78
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
78
79
  s.specification_version = 3
79
80
 
80
81
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
81
- s.add_runtime_dependency(%q<yajl-ruby>, ["~> 0.8.2"])
82
82
  s.add_runtime_dependency(%q<gorillib>, ["~> 0.1.1"])
83
83
  s.add_development_dependency(%q<rspec>, ["~> 2.3.0"])
84
84
  s.add_development_dependency(%q<yard>, ["~> 0.6.0"])
@@ -86,7 +86,6 @@ Gem::Specification.new do |s|
86
86
  s.add_development_dependency(%q<jeweler>, ["~> 1.5.2"])
87
87
  s.add_development_dependency(%q<rcov>, [">= 0"])
88
88
  else
89
- s.add_dependency(%q<yajl-ruby>, ["~> 0.8.2"])
90
89
  s.add_dependency(%q<gorillib>, ["~> 0.1.1"])
91
90
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
92
91
  s.add_dependency(%q<yard>, ["~> 0.6.0"])
@@ -95,7 +94,6 @@ Gem::Specification.new do |s|
95
94
  s.add_dependency(%q<rcov>, [">= 0"])
96
95
  end
97
96
  else
98
- s.add_dependency(%q<yajl-ruby>, ["~> 0.8.2"])
99
97
  s.add_dependency(%q<gorillib>, ["~> 0.1.1"])
100
98
  s.add_dependency(%q<rspec>, ["~> 2.3.0"])
101
99
  s.add_dependency(%q<yard>, ["~> 0.6.0"])
@@ -235,6 +235,8 @@ h3. Summary
235
235
  * *@Apeyeye@* - Publishes ICSS and Endpoint code assets to the Apeyeye
236
236
  * *@GeoIndex@* - Index data into GeoIndex
237
237
 
238
+ * *@Apitest@* - Generate Rspec integration test for ICSS messages
239
+
238
240
  h3. catalog
239
241
 
240
242
  An array of CatalogTarget hashes. Each CatalogTarget hash describes a catalog entry on the Infochimps data catalog. It contains the following fields:
@@ -326,7 +328,24 @@ An array of ElasticSearchTarget hashes. Each ElasticSearchTarget hash describes
326
328
 
327
329
  h3. apitest
328
330
 
329
- **AWAITING DOCUMENTATION**
331
+ This target exists to generate simple unit tests apeyeye calls in troop. This target always runs when troop runs and does not need to be declared in the ICSS for a hackbox. The unit tests are described as a request/response pairs, as in this example from the provider_lookup message in the cedexis ICSS file:
332
+
333
+ <pre><code>
334
+ samples:
335
+ - request:
336
+ - q: rackspace
337
+ response: {"results": [{ "label": "rackspace_cloudfiles", "name": "*Rackspace CloudFiles"}, {"label": "rackspace_cloudserver", "name": "*Rackspace CloudServer"}], "total": 2 }
338
+ </code></pre>
339
+
340
+ In order to run properly, the troop config must include these fields:
341
+
342
+ <pre><code>
343
+ apitest:
344
+ api_key: api_test-W1cipwpcdu9Cbd9pmm8D4Cjc469
345
+ test_dir: /path/to/api/tests
346
+ </code></pre>
347
+
348
+ @api_key@ should be a valid IC API key and @test_dir@ is where the generated tests will be written. Each test is named by its @namespace.protocol@ UID and is in @rspec@ format.
330
349
 
331
350
  h2. Differences between ICSS and Avro
332
351
 
@@ -113,7 +113,7 @@ module Icss
113
113
  end
114
114
 
115
115
  def self.xml_type_name
116
- self.to_s.demodulize.underscore.dasherize
116
+ self.to_s.demodulize.underscore.gsub(/_/, '-')
117
117
  end
118
118
 
119
119
  def to_json *args
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'rubygems'
1
2
  require 'spork'
2
3
  require 'rspec'
3
4
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: icss
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
5
- prerelease:
4
+ hash: 31
5
+ prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 1
10
- version: 0.1.1
9
+ - 2
10
+ version: 0.1.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Philip (flip) Kromer for Infochimps
@@ -15,29 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-06-10 00:00:00 Z
18
+ date: 2011-07-08 00:00:00 -05:00
19
+ default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
- prerelease: false
22
- name: yajl-ruby
23
- type: :runtime
24
- version_requirements: &id001 !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - ~>
28
- - !ruby/object:Gem::Version
29
- hash: 59
30
- segments:
31
- - 0
32
- - 8
33
- - 2
34
- version: 0.8.2
35
- requirement: *id001
36
- - !ruby/object:Gem::Dependency
37
- prerelease: false
38
- name: gorillib
39
- type: :runtime
40
- version_requirements: &id002 !ruby/object:Gem::Requirement
22
+ requirement: &id001 !ruby/object:Gem::Requirement
41
23
  none: false
42
24
  requirements:
43
25
  - - ~>
@@ -48,12 +30,12 @@ dependencies:
48
30
  - 1
49
31
  - 1
50
32
  version: 0.1.1
51
- requirement: *id002
52
- - !ruby/object:Gem::Dependency
33
+ type: :runtime
34
+ name: gorillib
53
35
  prerelease: false
54
- name: rspec
55
- type: :development
56
- version_requirements: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *id001
37
+ - !ruby/object:Gem::Dependency
38
+ requirement: &id002 !ruby/object:Gem::Requirement
57
39
  none: false
58
40
  requirements:
59
41
  - - ~>
@@ -64,12 +46,12 @@ dependencies:
64
46
  - 3
65
47
  - 0
66
48
  version: 2.3.0
67
- requirement: *id003
68
- - !ruby/object:Gem::Dependency
69
- prerelease: false
70
- name: yard
71
49
  type: :development
72
- version_requirements: &id004 !ruby/object:Gem::Requirement
50
+ name: rspec
51
+ prerelease: false
52
+ version_requirements: *id002
53
+ - !ruby/object:Gem::Dependency
54
+ requirement: &id003 !ruby/object:Gem::Requirement
73
55
  none: false
74
56
  requirements:
75
57
  - - ~>
@@ -80,12 +62,12 @@ dependencies:
80
62
  - 6
81
63
  - 0
82
64
  version: 0.6.0
83
- requirement: *id004
84
- - !ruby/object:Gem::Dependency
85
- prerelease: false
86
- name: bundler
87
65
  type: :development
88
- version_requirements: &id005 !ruby/object:Gem::Requirement
66
+ name: yard
67
+ prerelease: false
68
+ version_requirements: *id003
69
+ - !ruby/object:Gem::Dependency
70
+ requirement: &id004 !ruby/object:Gem::Requirement
89
71
  none: false
90
72
  requirements:
91
73
  - - ~>
@@ -96,12 +78,12 @@ dependencies:
96
78
  - 0
97
79
  - 0
98
80
  version: 1.0.0
99
- requirement: *id005
100
- - !ruby/object:Gem::Dependency
101
- prerelease: false
102
- name: jeweler
103
81
  type: :development
104
- version_requirements: &id006 !ruby/object:Gem::Requirement
82
+ name: bundler
83
+ prerelease: false
84
+ version_requirements: *id004
85
+ - !ruby/object:Gem::Dependency
86
+ requirement: &id005 !ruby/object:Gem::Requirement
105
87
  none: false
106
88
  requirements:
107
89
  - - ~>
@@ -112,12 +94,12 @@ dependencies:
112
94
  - 5
113
95
  - 2
114
96
  version: 1.5.2
115
- requirement: *id006
116
- - !ruby/object:Gem::Dependency
117
- prerelease: false
118
- name: rcov
119
97
  type: :development
120
- version_requirements: &id007 !ruby/object:Gem::Requirement
98
+ name: jeweler
99
+ prerelease: false
100
+ version_requirements: *id005
101
+ - !ruby/object:Gem::Dependency
102
+ requirement: &id006 !ruby/object:Gem::Requirement
121
103
  none: false
122
104
  requirements:
123
105
  - - ">="
@@ -126,7 +108,10 @@ dependencies:
126
108
  segments:
127
109
  - 0
128
110
  version: "0"
129
- requirement: *id007
111
+ type: :development
112
+ name: rcov
113
+ prerelease: false
114
+ version_requirements: *id006
130
115
  description: "Infochimps Stupid 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."
131
116
  email: coders@infochimps.com
132
117
  executables: []
@@ -182,6 +167,7 @@ files:
182
167
  - spec/icss_spec.rb
183
168
  - spec/protocol_spec.rb
184
169
  - spec/spec_helper.rb
170
+ has_rdoc: true
185
171
  homepage: http://github.com/mrflip/icss
186
172
  licenses:
187
173
  - MIT
@@ -211,7 +197,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
211
197
  requirements: []
212
198
 
213
199
  rubyforge_project:
214
- rubygems_version: 1.7.2
200
+ rubygems_version: 1.3.7
215
201
  signing_key:
216
202
  specification_version: 3
217
203
  summary: "Infochimps Stupid 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."