fulcrum 0.1.6 → 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 (60) hide show
  1. checksums.yaml +8 -8
  2. data/LICENSE +2 -2
  3. data/README.md +189 -70
  4. data/Rakefile +5 -0
  5. data/fulcrum.gemspec +2 -3
  6. data/lib/fulcrum.rb +22 -14
  7. data/lib/fulcrum/actions/create.rb +15 -0
  8. data/lib/fulcrum/actions/delete.rb +12 -0
  9. data/lib/fulcrum/actions/find.rb +11 -0
  10. data/lib/fulcrum/actions/list.rb +19 -0
  11. data/lib/fulcrum/actions/update.rb +11 -0
  12. data/lib/fulcrum/changeset.rb +12 -0
  13. data/lib/fulcrum/choice_list.rb +6 -35
  14. data/lib/fulcrum/classification_set.rb +6 -36
  15. data/lib/fulcrum/client.rb +120 -0
  16. data/lib/fulcrum/form.rb +6 -35
  17. data/lib/fulcrum/layer.rb +6 -0
  18. data/lib/fulcrum/media_resource.rb +47 -0
  19. data/lib/fulcrum/membership.rb +5 -0
  20. data/lib/fulcrum/page.rb +17 -0
  21. data/lib/fulcrum/photo.rb +9 -29
  22. data/lib/fulcrum/project.rb +3 -9
  23. data/lib/fulcrum/record.rb +6 -35
  24. data/lib/fulcrum/resource.rb +40 -0
  25. data/lib/fulcrum/signature.rb +15 -0
  26. data/lib/fulcrum/version.rb +1 -1
  27. data/lib/fulcrum/video.rb +23 -0
  28. data/spec/client_helper.rb +9 -0
  29. data/spec/data/test.jpg +0 -0
  30. data/spec/data/test.mp4 +0 -0
  31. data/spec/data/test.png +0 -0
  32. data/spec/lib/choice_list_spec.rb +10 -115
  33. data/spec/lib/classification_set_spec.rb +11 -114
  34. data/spec/lib/client_spec.rb +9 -0
  35. data/spec/lib/form_spec.rb +10 -111
  36. data/spec/lib/layer_spec.rb +13 -0
  37. data/spec/lib/membership_spec.rb +12 -0
  38. data/spec/lib/photo_spec.rb +9 -88
  39. data/spec/lib/project_spec.rb +7 -23
  40. data/spec/lib/record_spec.rb +10 -115
  41. data/spec/lib/signature_spec.rb +16 -0
  42. data/spec/lib/video_spec.rb +16 -0
  43. data/spec/resource_examples.rb +147 -0
  44. data/spec/spec_helper.rb +2 -0
  45. metadata +37 -41
  46. data/.rvmrc +0 -1
  47. data/lib/fulcrum/api.rb +0 -99
  48. data/lib/fulcrum/member.rb +0 -16
  49. data/lib/fulcrum/validators/base_validator.rb +0 -31
  50. data/lib/fulcrum/validators/choice_list_validator.rb +0 -30
  51. data/lib/fulcrum/validators/classification_set_validator.rb +0 -38
  52. data/lib/fulcrum/validators/form_validator.rb +0 -150
  53. data/lib/fulcrum/validators/record_validator.rb +0 -18
  54. data/spec/data/form_data.json +0 -175
  55. data/spec/lib/api_spec.rb +0 -42
  56. data/spec/lib/member_spec.rb +0 -52
  57. data/spec/lib/validators/choice_list_validator_spec.rb +0 -73
  58. data/spec/lib/validators/classification_set_validator_spec.rb +0 -88
  59. data/spec/lib/validators/form_validator_spec.rb +0 -4
  60. data/spec/lib/validators/record_validator_spec.rb +0 -53
@@ -1,4 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Fulcrum::FormValidator do
4
- end
@@ -1,53 +0,0 @@
1
- require 'spec_helper'
2
-
3
- describe Fulcrum::RecordValidator do
4
- describe '#validates!' do
5
- it 'should not be valid without a record hash' do
6
- data = {}
7
- validator = Fulcrum::RecordValidator.new(data)
8
- validator.should_not be_valid
9
- end
10
-
11
- it 'should not be valid if record is not a hash' do
12
- data = { 'record' => nil }
13
- validator = Fulcrum::RecordValidator.new(data)
14
- validator.should_not be_valid
15
- end
16
-
17
- it 'should not be valid without a form_id' do
18
- data = { 'record' => { 'form_id' => '' } }
19
- validator = Fulcrum::RecordValidator.new(data)
20
- validator.should_not be_valid
21
- validator.errors['record']['form_id'].should_not be_blank
22
- end
23
-
24
- it 'should not be valid if form_values is not a hash' do
25
- data = { 'record' => { 'form_id' => 'foobar', 'form_values' => nil } }
26
- validator = Fulcrum::RecordValidator.new(data)
27
- validator.should_not be_valid
28
- validator.errors['record']['form_values'].should_not be_blank
29
- end
30
-
31
- it 'should not be valid if form_values is empty' do
32
- data = { 'record' => { 'form_id' => 'foobar', 'form_values' => {} } }
33
- validator = Fulcrum::RecordValidator.new(data)
34
- validator.should_not be_valid
35
- validator.errors['record']['form_values'].should_not be_blank
36
- end
37
-
38
- it 'should not be valid with invalid coordinates' do
39
- data = { 'record' => { 'form_id' => 'foobar', 'form_values' => { 'foo' => 'bar'}, 'latitude' => '0', 'longitude' => '0' } }
40
- validator = Fulcrum::RecordValidator.new(data)
41
- validator.should_not be_valid
42
- validator.errors['record']['coordinates'].should_not be_blank
43
- end
44
-
45
- it 'should be valid' do
46
- data = { 'record' => { 'form_id' => 'foobar', 'form_values' => { 'foo' => 'bar'}, 'latitude' => '1.0', 'longitude' => '1.0' } }
47
- validator = Fulcrum::RecordValidator.new(data)
48
- validator.should be_valid
49
- validator.errors.should be_empty
50
- end
51
- end
52
- end
53
-