spigot 0.1.0 → 0.2.0

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