spigot 0.1.0 → 0.2.0

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.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/README.md +25 -32
  4. data/Rakefile +6 -0
  5. data/examples/active_record.rb +18 -15
  6. data/examples/model.rb +38 -7
  7. data/lib/spigot.rb +18 -6
  8. data/lib/spigot/configuration.rb +4 -5
  9. data/lib/spigot/map/base.rb +44 -0
  10. data/lib/spigot/map/definition.rb +69 -0
  11. data/lib/spigot/map/option.rb +27 -0
  12. data/lib/spigot/map/resource.rb +37 -0
  13. data/lib/spigot/map/service.rb +43 -0
  14. data/lib/spigot/patch.rb +1 -1
  15. data/lib/spigot/proxy.rb +3 -2
  16. data/lib/spigot/translator.rb +22 -71
  17. data/lib/spigot/version.rb +1 -1
  18. data/script/console.rb +26 -20
  19. data/spec/fixtures/data/active_user.rb +17 -0
  20. data/spec/fixtures/data/post.rb +15 -0
  21. data/spec/fixtures/data/user.rb +41 -0
  22. data/spec/fixtures/mappings/active_user_map.rb +58 -22
  23. data/spec/fixtures/mappings/post_map.rb +10 -10
  24. data/spec/fixtures/mappings/user_map.rb +73 -29
  25. data/spec/spec_helper.rb +3 -12
  26. data/spec/spigot/active_record_spec.rb +34 -26
  27. data/spec/spigot/base_spec.rb +32 -1
  28. data/spec/spigot/configuration_spec.rb +0 -27
  29. data/spec/spigot/map/base_spec.rb +70 -0
  30. data/spec/spigot/map/definition_spec.rb +45 -0
  31. data/spec/spigot/map/resource_spec.rb +57 -0
  32. data/spec/spigot/map/service_spec.rb +88 -0
  33. data/spec/spigot/translator_spec.rb +110 -113
  34. data/spigot.gemspec +3 -2
  35. metadata +43 -20
  36. data/examples/.DS_Store +0 -0
  37. data/lib/.DS_Store +0 -0
  38. data/lib/spigot/config/.DS_Store +0 -0
  39. data/spec/.DS_Store +0 -0
  40. data/spec/fixtures/.DS_Store +0 -0
  41. data/spec/fixtures/api_data.rb +0 -46
  42. data/spec/spigot/factory_spec.rb +0 -5
@@ -18,11 +18,12 @@ Gem::Specification.new do |spec|
18
18
  spec.require_paths = ["lib"]
19
19
 
20
20
  spec.add_dependency 'activerecord'
21
- spec.add_dependency 'hashie'
22
21
 
23
22
  spec.add_development_dependency "bundler", "~> 1.3"
24
23
  spec.add_development_dependency "rake"
24
+ spec.add_development_dependency "hashie"
25
+ spec.add_development_dependency "simplecov"
25
26
  spec.add_development_dependency "rspec"
26
27
  spec.add_development_dependency "mocha"
27
- spec.add_development_dependency 'sqlite3'
28
+ spec.add_development_dependency "sqlite3"
28
29
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spigot
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthew Werner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-11-16 00:00:00.000000000 Z
11
+ date: 2013-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -25,13 +25,27 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: hashie
28
+ name: bundler
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: '1.3'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: '1.3'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - '>='
32
46
  - !ruby/object:Gem::Version
33
47
  version: '0'
34
- type: :runtime
48
+ type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
@@ -39,21 +53,21 @@ dependencies:
39
53
  - !ruby/object:Gem::Version
40
54
  version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
- name: bundler
56
+ name: hashie
43
57
  requirement: !ruby/object:Gem::Requirement
44
58
  requirements:
45
- - - ~>
59
+ - - '>='
46
60
  - !ruby/object:Gem::Version
47
- version: '1.3'
61
+ version: '0'
48
62
  type: :development
49
63
  prerelease: false
50
64
  version_requirements: !ruby/object:Gem::Requirement
51
65
  requirements:
52
- - - ~>
66
+ - - '>='
53
67
  - !ruby/object:Gem::Version
54
- version: '1.3'
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
- name: rake
70
+ name: simplecov
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - '>='
@@ -121,26 +135,28 @@ files:
121
135
  - LICENSE.txt
122
136
  - README.md
123
137
  - Rakefile
124
- - examples/.DS_Store
125
138
  - examples/active_record.rb
126
139
  - examples/model.rb
127
- - lib/.DS_Store
128
140
  - lib/spigot.rb
129
141
  - lib/spigot/active_record.rb
130
142
  - lib/spigot/base.rb
131
- - lib/spigot/config/.DS_Store
132
143
  - lib/spigot/config/spigot/github.yml
133
144
  - lib/spigot/configuration.rb
134
145
  - lib/spigot/errors.rb
146
+ - lib/spigot/map/base.rb
147
+ - lib/spigot/map/definition.rb
148
+ - lib/spigot/map/option.rb
149
+ - lib/spigot/map/resource.rb
150
+ - lib/spigot/map/service.rb
135
151
  - lib/spigot/patch.rb
136
152
  - lib/spigot/proxy.rb
137
153
  - lib/spigot/record.rb
138
154
  - lib/spigot/translator.rb
139
155
  - lib/spigot/version.rb
140
156
  - script/console.rb
141
- - spec/.DS_Store
142
- - spec/fixtures/.DS_Store
143
- - spec/fixtures/api_data.rb
157
+ - spec/fixtures/data/active_user.rb
158
+ - spec/fixtures/data/post.rb
159
+ - spec/fixtures/data/user.rb
144
160
  - spec/fixtures/mappings/active_user_map.rb
145
161
  - spec/fixtures/mappings/mappings.rb
146
162
  - spec/fixtures/mappings/post_map.rb
@@ -149,7 +165,10 @@ files:
149
165
  - spec/spigot/active_record_spec.rb
150
166
  - spec/spigot/base_spec.rb
151
167
  - spec/spigot/configuration_spec.rb
152
- - spec/spigot/factory_spec.rb
168
+ - spec/spigot/map/base_spec.rb
169
+ - spec/spigot/map/definition_spec.rb
170
+ - spec/spigot/map/resource_spec.rb
171
+ - spec/spigot/map/service_spec.rb
153
172
  - spec/spigot/translator_spec.rb
154
173
  - spec/support/active_record.rb
155
174
  - spigot.gemspec
@@ -179,7 +198,9 @@ specification_version: 4
179
198
  summary: Spigot provides a clean interface translating API data into context relevant
180
199
  objects
181
200
  test_files:
182
- - spec/fixtures/api_data.rb
201
+ - spec/fixtures/data/active_user.rb
202
+ - spec/fixtures/data/post.rb
203
+ - spec/fixtures/data/user.rb
183
204
  - spec/fixtures/mappings/active_user_map.rb
184
205
  - spec/fixtures/mappings/mappings.rb
185
206
  - spec/fixtures/mappings/post_map.rb
@@ -188,7 +209,9 @@ test_files:
188
209
  - spec/spigot/active_record_spec.rb
189
210
  - spec/spigot/base_spec.rb
190
211
  - spec/spigot/configuration_spec.rb
191
- - spec/spigot/factory_spec.rb
212
+ - spec/spigot/map/base_spec.rb
213
+ - spec/spigot/map/definition_spec.rb
214
+ - spec/spigot/map/resource_spec.rb
215
+ - spec/spigot/map/service_spec.rb
192
216
  - spec/spigot/translator_spec.rb
193
217
  - spec/support/active_record.rb
194
- has_rdoc:
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -1,46 +0,0 @@
1
- module Spigot
2
- class ApiData
3
-
4
- def self.basic_user
5
- {'full_name' => 'Dean Martin', 'login' => 'classyasfuck'}
6
- end
7
-
8
- def self.user
9
- {'full_name' => 'Dean Martin', 'login' => 'classyasfuck', 'auth_token' => '123abc'}
10
- end
11
-
12
- def self.updated_user
13
- {'full_name' => 'Frank Sinatra', 'login' => 'livetilidie', 'auth_token' => '456bcd'}
14
- end
15
-
16
- def self.nested_user
17
- {'full_name' => 'Dean Martin', 'login' => {
18
- 'email' => 'dino@amore.io',
19
- 'user_name' => 'classyasfuck'
20
- }, 'auth_token' => '123abc'}
21
- end
22
-
23
- def self.double_nested_user
24
- {'full_name' => 'Dean Martin', 'login' => {
25
- 'contact' => {'work_email' => 'dino@amore.io', 'user_name' => 'classyasfuck' }
26
- }, 'auth_token' => '123abc'}
27
- end
28
-
29
- def self.user_array
30
- [{'full_name' => 'Dean Martin', 'login' => 'classyasfuck'}, {'full_name' => 'Frank Sinatra', 'login' => 'livetilidie'}]
31
- end
32
-
33
- def self.nested_user_array
34
- {'account' => 'Rockafella', 'users' => user_array, 'count' => 2}
35
- end
36
-
37
- def self.basic_post
38
- {'title' => 'Brief Article', 'body' => 'lorem ipsum'}
39
- end
40
-
41
- def self.post
42
- {'title' => 'Regular Article', 'body' => 'dolor sit amet', 'author' => 'Dean Martin'}
43
- end
44
-
45
- end
46
- end
@@ -1,5 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Spigot::Record do
4
-
5
- end