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.
- checksums.yaml +4 -4
- data/.gitignore +1 -0
- data/README.md +25 -32
- data/Rakefile +6 -0
- data/examples/active_record.rb +18 -15
- data/examples/model.rb +38 -7
- data/lib/spigot.rb +18 -6
- data/lib/spigot/configuration.rb +4 -5
- data/lib/spigot/map/base.rb +44 -0
- data/lib/spigot/map/definition.rb +69 -0
- data/lib/spigot/map/option.rb +27 -0
- data/lib/spigot/map/resource.rb +37 -0
- data/lib/spigot/map/service.rb +43 -0
- data/lib/spigot/patch.rb +1 -1
- data/lib/spigot/proxy.rb +3 -2
- data/lib/spigot/translator.rb +22 -71
- data/lib/spigot/version.rb +1 -1
- data/script/console.rb +26 -20
- data/spec/fixtures/data/active_user.rb +17 -0
- data/spec/fixtures/data/post.rb +15 -0
- data/spec/fixtures/data/user.rb +41 -0
- data/spec/fixtures/mappings/active_user_map.rb +58 -22
- data/spec/fixtures/mappings/post_map.rb +10 -10
- data/spec/fixtures/mappings/user_map.rb +73 -29
- data/spec/spec_helper.rb +3 -12
- data/spec/spigot/active_record_spec.rb +34 -26
- data/spec/spigot/base_spec.rb +32 -1
- data/spec/spigot/configuration_spec.rb +0 -27
- data/spec/spigot/map/base_spec.rb +70 -0
- data/spec/spigot/map/definition_spec.rb +45 -0
- data/spec/spigot/map/resource_spec.rb +57 -0
- data/spec/spigot/map/service_spec.rb +88 -0
- data/spec/spigot/translator_spec.rb +110 -113
- data/spigot.gemspec +3 -2
- metadata +43 -20
- data/examples/.DS_Store +0 -0
- data/lib/.DS_Store +0 -0
- data/lib/spigot/config/.DS_Store +0 -0
- data/spec/.DS_Store +0 -0
- data/spec/fixtures/.DS_Store +0 -0
- data/spec/fixtures/api_data.rb +0 -46
- data/spec/spigot/factory_spec.rb +0 -5
data/spigot.gemspec
CHANGED
@@ -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
|
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.
|
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
|
+
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:
|
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: :
|
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:
|
56
|
+
name: hashie
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
|
-
- -
|
59
|
+
- - '>='
|
46
60
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
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: '
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
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
|
142
|
-
- spec/fixtures
|
143
|
-
- spec/fixtures/
|
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/
|
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/
|
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/
|
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:
|
data/examples/.DS_Store
DELETED
Binary file
|
data/lib/.DS_Store
DELETED
Binary file
|
data/lib/spigot/config/.DS_Store
DELETED
Binary file
|
data/spec/.DS_Store
DELETED
Binary file
|
data/spec/fixtures/.DS_Store
DELETED
Binary file
|
data/spec/fixtures/api_data.rb
DELETED
@@ -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
|