fulcrum 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore CHANGED
@@ -7,6 +7,7 @@ Gemfile.lock
7
7
  InstalledFiles
8
8
  _yardoc
9
9
  coverage
10
+ vendor/
10
11
  doc/
11
12
  lib/bundler/man
12
13
  pkg
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, 'schema' => true_or_false }
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|image' }
74
+ # opts = { 'format' => 'json|jpg' }, defaults to 'json'
68
75
 
69
76
  Fulcrum::Photo.thumbnail(access_key, opts)
70
- # opts = { 'format' => 'json|image' }
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
@@ -2,6 +2,7 @@ require "fulcrum/version"
2
2
  require "fulcrum/api"
3
3
  require "fulcrum/form"
4
4
  require "fulcrum/record"
5
+ require "fulcrum/project"
5
6
  require "fulcrum/choice_list"
6
7
  require "fulcrum/classification_set"
7
8
  require "fulcrum/member"
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 image)
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 'image'" unless ALLOWED_FORMATS.include?(format)
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
@@ -0,0 +1,13 @@
1
+ module Fulcrum
2
+ class Project < Api
3
+
4
+ class << self
5
+
6
+ def all(opts = {})
7
+ params = parse_opts([:page, :updated_since], opts)
8
+ call(:get, 'projects.json', params)
9
+ end
10
+ end
11
+ end
12
+ end
13
+
@@ -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
 
@@ -1,3 +1,3 @@
1
1
  module Fulcrum
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
@@ -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.3
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-08-08 00:00:00.000000000 Z
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: &70318488208460 !ruby/object:Gem::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: *70318488208460
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: &70318488207800 !ruby/object:Gem::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: *70318488207800
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: &70318488207200 !ruby/object:Gem::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: *70318488207200
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: &70318488206580 !ruby/object:Gem::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: *70318488206580
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: &70318488205940 !ruby/object:Gem::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: *70318488205940
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: &70318488205280 !ruby/object:Gem::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: *70318488205280
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: &70318488204700 !ruby/object:Gem::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: *70318488204700
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: &70318488204080 !ruby/object:Gem::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: *70318488204080
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.17
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