fulcrum 0.1.3 → 0.1.4
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/.gitignore +1 -0
- data/README.md +10 -3
- data/lib/fulcrum.rb +1 -0
- data/lib/fulcrum/photo.rb +2 -3
- data/lib/fulcrum/project.rb +13 -0
- data/lib/fulcrum/record.rb +1 -1
- data/lib/fulcrum/version.rb +1 -1
- data/spec/lib/photo_spec.rb +2 -2
- data/spec/lib/project_spec.rb +29 -0
- metadata +62 -19
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -28,10 +28,17 @@ Or install it yourself as:
|
|
28
28
|
config.key = 'your_api_key'
|
29
29
|
end
|
30
30
|
|
31
|
+
## Projects
|
32
|
+
|
33
|
+
Fulcrum::Project.all(opts)
|
34
|
+
# opts = { 'page' => page_number,
|
35
|
+
# 'updated_since' => date_time }
|
36
|
+
|
31
37
|
## Forms
|
32
38
|
|
33
39
|
Fulcrum::Form.all(opts)
|
34
|
-
# opts = { 'page' => page_number,
|
40
|
+
# opts = { 'page' => page_number,
|
41
|
+
# 'schema' => true_or_false }
|
35
42
|
|
36
43
|
Fulcrum::Form.find(id, opts)
|
37
44
|
# opts = { 'include_foreign_elements' => true_or_false }
|
@@ -64,10 +71,10 @@ Or install it yourself as:
|
|
64
71
|
## Photos
|
65
72
|
|
66
73
|
Fulcrum::Photo.find(access_key, opts)
|
67
|
-
# opts = { 'format' => 'json|
|
74
|
+
# opts = { 'format' => 'json|jpg' }, defaults to 'json'
|
68
75
|
|
69
76
|
Fulcrum::Photo.thumbnail(access_key, opts)
|
70
|
-
# opts = { 'format' => 'json|
|
77
|
+
# opts = { 'format' => 'json|jpg' }, defaults to 'json'
|
71
78
|
|
72
79
|
Fulcrum::Photo.create(photo, content_type, unique_id, label)
|
73
80
|
|
data/lib/fulcrum.rb
CHANGED
data/lib/fulcrum/photo.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module Fulcrum
|
2
2
|
class Photo < Api
|
3
3
|
|
4
|
-
ALLOWED_FORMATS = %w(json
|
4
|
+
ALLOWED_FORMATS = %w(jpg json)
|
5
5
|
|
6
6
|
class << self
|
7
7
|
|
@@ -27,8 +27,7 @@ module Fulcrum
|
|
27
27
|
def image_opts(opts = {})
|
28
28
|
opts = opts.with_indifferent_access
|
29
29
|
format = opts.delete(:format) || 'json'
|
30
|
-
raise ArgumentError, "#{format} is not an allowed format, use either 'json' or '
|
31
|
-
format = "jpg" if format == 'image'
|
30
|
+
raise ArgumentError, "#{format} is not an allowed format, use either 'json' or 'jpg'" unless ALLOWED_FORMATS.include?(format)
|
32
31
|
format
|
33
32
|
end
|
34
33
|
end
|
data/lib/fulcrum/record.rb
CHANGED
@@ -4,7 +4,7 @@ module Fulcrum
|
|
4
4
|
class << self
|
5
5
|
|
6
6
|
def all(opts = {})
|
7
|
-
params = parse_opts([:page, :form_id, :bounding_box, :updated_since], opts)
|
7
|
+
params = parse_opts([:page, :form_id, :project_id, :bounding_box, :updated_since], opts)
|
8
8
|
call(:get, 'records.json', params)
|
9
9
|
end
|
10
10
|
|
data/lib/fulcrum/version.rb
CHANGED
data/spec/lib/photo_spec.rb
CHANGED
@@ -32,7 +32,7 @@ describe Fulcrum::Photo do
|
|
32
32
|
it 'should retrieve the photo thumbnail and return status 200' do
|
33
33
|
photo_id = 'abc'
|
34
34
|
stub_request(:get, "#{Fulcrum::Api.configuration.uri}/photos/#{photo_id}/thumbnail.jpg").to_return(:status => 200)
|
35
|
-
r = Fulcrum::Photo.thumbnail(photo_id)
|
35
|
+
r = Fulcrum::Photo.thumbnail(photo_id, format: 'jpg')
|
36
36
|
Fulcrum::Photo.response.status.should eq(200)
|
37
37
|
end
|
38
38
|
end
|
@@ -75,7 +75,7 @@ describe Fulcrum::Photo do
|
|
75
75
|
it 'should receive a 422 response' do
|
76
76
|
photo_id = 'abc'
|
77
77
|
stub_request(:get, "#{Fulcrum::Api.configuration.uri}/photos/#{photo_id}/thumbnail.jpg").to_return(:status => 404)
|
78
|
-
p = Fulcrum::Photo.thumbnail(photo_id)
|
78
|
+
p = Fulcrum::Photo.thumbnail(photo_id, format: 'jpg')
|
79
79
|
p.keys.should include(:error)
|
80
80
|
p[:error][:status].should eq(404)
|
81
81
|
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Fulcrum::Project do
|
4
|
+
|
5
|
+
before(:all) do
|
6
|
+
Fulcrum::Api.configure do |config|
|
7
|
+
config.uri = 'http://foo.bar/api/v2'
|
8
|
+
config.key = 'foobar'
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
describe 'successful requests' do
|
13
|
+
context '#all' do
|
14
|
+
it 'should retrieve all projects' do
|
15
|
+
stub_request(:get, "#{Fulcrum::Api.configuration.uri}/projects.json").to_return(:status => 200, :body => '{"current_page":1,"total_pages":1,"total_count":1,"per_page":50,"projects":[]}')
|
16
|
+
projects = Fulcrum::Project.all
|
17
|
+
Fulcrum::Project.response.status.should eq(200)
|
18
|
+
projects = JSON.parse(projects)
|
19
|
+
projects.keys.should include('current_page')
|
20
|
+
projects.keys.should include('total_pages')
|
21
|
+
projects.keys.should include('total_count')
|
22
|
+
projects.keys.should include('per_page')
|
23
|
+
projects.keys.should include('projects')
|
24
|
+
projects['projects'].should be_a(Array)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fulcrum
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-12-05 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rake
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: rspec
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: webmock
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: '0'
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: debugger
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: '0'
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: activesupport
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :runtime
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: faraday
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: '0'
|
77
102
|
type: :runtime
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: hashie
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - ! '>='
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: '0'
|
88
118
|
type: :runtime
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
127
|
name: faraday_middleware
|
93
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ! '>='
|
@@ -98,7 +133,12 @@ dependencies:
|
|
98
133
|
version: '0'
|
99
134
|
type: :runtime
|
100
135
|
prerelease: false
|
101
|
-
version_requirements:
|
136
|
+
version_requirements: !ruby/object:Gem::Requirement
|
137
|
+
none: false
|
138
|
+
requirements:
|
139
|
+
- - ! '>='
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '0'
|
102
142
|
description: Fulcrum API Gem
|
103
143
|
email:
|
104
144
|
- chris@spatialnetworks.com
|
@@ -120,6 +160,7 @@ files:
|
|
120
160
|
- lib/fulcrum/form.rb
|
121
161
|
- lib/fulcrum/member.rb
|
122
162
|
- lib/fulcrum/photo.rb
|
163
|
+
- lib/fulcrum/project.rb
|
123
164
|
- lib/fulcrum/record.rb
|
124
165
|
- lib/fulcrum/validators/base_validator.rb
|
125
166
|
- lib/fulcrum/validators/choice_list_validator.rb
|
@@ -135,6 +176,7 @@ files:
|
|
135
176
|
- spec/lib/form_spec.rb
|
136
177
|
- spec/lib/member_spec.rb
|
137
178
|
- spec/lib/photo_spec.rb
|
179
|
+
- spec/lib/project_spec.rb
|
138
180
|
- spec/lib/record_spec.rb
|
139
181
|
- spec/lib/validators/choice_list_validator_spec.rb
|
140
182
|
- spec/lib/validators/classification_set_validator_spec.rb
|
@@ -161,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
161
203
|
version: '0'
|
162
204
|
requirements: []
|
163
205
|
rubyforge_project:
|
164
|
-
rubygems_version: 1.8.
|
206
|
+
rubygems_version: 1.8.23
|
165
207
|
signing_key:
|
166
208
|
specification_version: 3
|
167
209
|
summary: Fulcrum API Gem
|
@@ -174,6 +216,7 @@ test_files:
|
|
174
216
|
- spec/lib/form_spec.rb
|
175
217
|
- spec/lib/member_spec.rb
|
176
218
|
- spec/lib/photo_spec.rb
|
219
|
+
- spec/lib/project_spec.rb
|
177
220
|
- spec/lib/record_spec.rb
|
178
221
|
- spec/lib/validators/choice_list_validator_spec.rb
|
179
222
|
- spec/lib/validators/classification_set_validator_spec.rb
|