icss 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
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."