ppe_api 0.0.1 → 0.0.2

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.
@@ -0,0 +1,17 @@
1
+ module PPE_API
2
+
3
+ module Config
4
+ require 'net/http'
5
+ @@ppe_domain = "localhost"
6
+ @@ppe_port = 3000
7
+ @@ppe_path = "/api"
8
+ @@http = Net::HTTP.new(@@ppe_domain, @@ppe_port)
9
+
10
+ #ALLOW ACCESS FROM THE OUTSIDE WORLD
11
+ class_variables.each do |v|
12
+ mattr_accessor v[(2..-1)]
13
+ end
14
+
15
+ end
16
+
17
+ end
@@ -2,6 +2,7 @@ module PPE_API
2
2
  class Country
3
3
  include ::HappyMapper
4
4
 
5
+ tag "country"
5
6
  element :id, Integer
6
7
  element :created_at, DateTime, :tag=>'created-at'
7
8
  element :updated_at, DateTime, :tag=>'updated-at'
@@ -17,7 +18,8 @@ module PPE_API
17
18
  end
18
19
 
19
20
  def self.get_by_iso(iso)
20
- res, data = ::DR::Config.http.get("/api/country/iso/#{iso}")
21
+ res, data = Config.http.get("/api/country/iso/#{iso}")
22
+ res.value
21
23
  Country.parse(data) unless data.nil? || data.empty?
22
24
  end
23
25
 
@@ -2,6 +2,7 @@ module PPE_API
2
2
  class Designation
3
3
  include ::HappyMapper
4
4
 
5
+ tag "designation"
5
6
  element :id, Integer
6
7
  element :created_at, DateTime, :tag=>'created-at'
7
8
  element :name, String
@@ -9,7 +10,8 @@ module PPE_API
9
10
  has_one :jurisdiction, Jurisdiction
10
11
 
11
12
  def self.get_by_name(name)
12
- res, data = ::DR::Config.http.post("/api/designation/name", "name=#{name}")
13
+ res, data = Config.http.post("/api/designation/name", "name=#{name}")
14
+ res.value
13
15
  return Designation.parse(data) unless data.nil? || data.empty?
14
16
  return nil
15
17
 
@@ -10,8 +10,9 @@ module PPE_API
10
10
  element :value, Integer
11
11
 
12
12
  def self.get_by_name(name)
13
- res, data = ::DR::Config.http.get("/api/iucn_category/name/#{name}")
14
- return IucnCategory.parse(data) unless data.nil? || data.empty?
13
+ res, data = Config.http.get("/api/iucn_category/name/#{name}")
14
+ res.value
15
+ return self.parse(data) unless data.nil? || data.empty?
15
16
  return nil
16
17
 
17
18
  end
@@ -2,6 +2,7 @@ module PPE_API
2
2
  class Jurisdiction
3
3
  include ::HappyMapper
4
4
 
5
+ tag "jurisdiction"
5
6
  element :id, Integer
6
7
  element :created_at, DateTime, :tag=>'created-at'
7
8
  element :name, String
@@ -2,6 +2,7 @@ module PPE_API
2
2
  class Language
3
3
  include ::HappyMapper
4
4
 
5
+ tag "language"
5
6
  element :id, Integer
6
7
  element :created_at, DateTime, :tag=>'created-at'
7
8
  element :updated_at, DateTime, :tag=>'updated-at'
@@ -10,7 +10,8 @@ module PPE_API
10
10
 
11
11
  def self.get_by_name(name)
12
12
  unless name.nil? || name.empty?
13
- res, data = ::DR::Config.http.post("/api/legal_status/name", "name=#{name}")
13
+ res, data = Config.http.post("/api/legal_status/name", "name=#{name}")
14
+ res.value
14
15
  return LegalStatus.parse(data) unless data.nil? || data.empty?
15
16
  end
16
17
  return nil
@@ -2,6 +2,7 @@ module PPE_API
2
2
  class PointGeom
3
3
  include ::HappyMapper
4
4
 
5
+ tag "point-geom"
5
6
  element :id, Integer
6
7
  element :created_at, DateTime, :tag=>'created-at'
7
8
  element :updated_at, DateTime, :tag=>'updated-at'
@@ -2,6 +2,7 @@ module PPE_API
2
2
  class PolygonGeom
3
3
  include ::HappyMapper
4
4
 
5
+ tag "polygon-geom"
5
6
  element :id, Integer
6
7
  element :created_at, DateTime, :tag=>'created-at'
7
8
  element :updated_at, DateTime, :tag=>'updated-at'
@@ -90,7 +90,8 @@ module PPE_API
90
90
  if id.to_i != 0
91
91
  path = "/api/protected_area/#{id}"
92
92
  path = path + "?has_geometry=true" if has_geom
93
- res, data = ::DR::Config.http.get(path)
93
+ res, data = Config.http.get(path)
94
+ res.value
94
95
  return ProtectedArea.parse(data) unless data.nil? || data.empty?
95
96
  end
96
97
  return nil
@@ -2,6 +2,7 @@ module PPE_API
2
2
  class Region
3
3
  include ::HappyMapper
4
4
 
5
+ tag "region"
5
6
  element :id, Integer
6
7
  element :created_at, DateTime, :tag=>'created-at'
7
8
  element :updated_at, DateTime, :tag=>'updated-at'
data/lib/ppe_api/site.rb CHANGED
@@ -2,6 +2,7 @@ module PPE_API
2
2
  class Site
3
3
  include ::HappyMapper
4
4
 
5
+ tag "site"
5
6
  element :id, Integer
6
7
  element :created_at, DateTime, :tag=>'created-at'
7
8
  element :updated_at, DateTime, :tag=>'updated-at'
@@ -9,7 +10,8 @@ module PPE_API
9
10
  element :state, String
10
11
 
11
12
  def self.get_by_id(id)
12
- res, data = ::DR::Config.http.get("/api/site/#{id}")
13
+ res, data = Config.http.get("/api/site/#{id}")
14
+ res.value
13
15
  return Site.parse(data) unless data.nil? || data.empty?
14
16
  return nil
15
17
  end
data/lib/ppe_api/user.rb CHANGED
@@ -2,6 +2,7 @@ module PPE_API
2
2
  class User
3
3
  include ::HappyMapper
4
4
 
5
+ tag "user"
5
6
  element :id, Integer
6
7
  element :created_at, DateTime, :tag=>'created-at'
7
8
  element :updated_at, DateTime, :tag=>'updated-at'
@@ -13,24 +14,6 @@ module PPE_API
13
14
  element :email, String
14
15
 
15
16
 
16
- def exports
17
- Export.find_all_by_user_id(id)
18
- end
19
-
20
-
21
- def completed_tasks
22
- exports.inject(0) do |sum,ex|
23
- if ex.task_status == DR::Config.import_state_map[:completed]
24
- sum+=1
25
- end
26
- sum
27
- end
28
- end
29
-
30
- def imports
31
- Import.find_all_by_user_id(id)
32
- end
33
-
34
17
  def to_xml(options={})
35
18
  self.as_json.to_xml({:root => "user"}.merge(options))
36
19
  end
data/lib/ppe_api.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'happymapper'
2
+ require 'ppe_api/constants_appication.rb'
2
3
  require 'ppe_api/abstract_pa'
3
4
  require 'ppe_api/alternative_name'
4
5
  require 'ppe_api/apa_relation'
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ppe_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
- - Liz Schwartz
7
+ - Anonymous PPE Developer
8
8
  autorequire: data_rec_gem
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-12-19 00:00:00 -05:00
12
+ date: 2009-12-23 00:00:00 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -31,26 +31,25 @@ extensions: []
31
31
  extra_rdoc_files: []
32
32
 
33
33
  files:
34
- - lib/ppe_api/abstract_pa.rb
35
- - lib/ppe_api/alternative_name.rb
34
+ - lib/ppe_api/jurisdiction.rb
35
+ - lib/ppe_api/region.rb
36
36
  - lib/ppe_api/apa_relation.rb
37
+ - lib/ppe_api/polygon_geom.rb
38
+ - lib/ppe_api/language.rb
37
39
  - lib/ppe_api/country.rb
38
- - lib/ppe_api/dataset.rb
40
+ - lib/ppe_api/user.rb
39
41
  - lib/ppe_api/designation.rb
40
- - lib/ppe_api/iucn_category.rb
41
- - lib/ppe_api/jurisdiction.rb
42
- - lib/ppe_api/language.rb
43
- - lib/ppe_api/legal_status.rb
42
+ - lib/ppe_api/search.rb
44
43
  - lib/ppe_api/point_geom.rb
45
- - lib/ppe_api/polygon_geom.rb
44
+ - lib/ppe_api/iucn_category.rb
45
+ - lib/ppe_api/constants_application.rb
46
46
  - lib/ppe_api/protected_area.rb
47
- - lib/ppe_api/region.rb
48
- - lib/ppe_api/search.rb
47
+ - lib/ppe_api/dataset.rb
48
+ - lib/ppe_api/abstract_pa.rb
49
+ - lib/ppe_api/alternative_name.rb
50
+ - lib/ppe_api/legal_status.rb
49
51
  - lib/ppe_api/site.rb
50
- - lib/ppe_api/user.rb
51
52
  - lib/ppe_api.rb
52
- - test/factories.rb
53
- - test/test_helper.rb
54
53
  has_rdoc: true
55
54
  homepage:
56
55
  licenses: []
data/test/factories.rb DELETED
@@ -1,106 +0,0 @@
1
- Factory.define :abstract_pa, :default_strategy => :build do |t|
2
- end
3
-
4
- Factory.define :designation, :default_strategy => :build do |t|
5
- t.name "World Heritage Site"
6
- end
7
-
8
- Factory.define :iucn_category, :default_strategy => :build do |t|
9
- t.name "Ia"
10
- t.value 1
11
- end
12
-
13
- Factory.define :legal_status, :default_strategy => :build do |t|
14
- t.name "created"
15
- end
16
-
17
- Factory.define :country, :default_strategy => :build do |t|
18
- t.name "United Kingdom"
19
- t.iso "GB"
20
- t.iso_3 "GBR"
21
- t.association :region
22
- end
23
-
24
- Factory.define :region, :default_strategy => :build do |t|
25
- t.name "Europe"
26
- t.code "EU"
27
- end
28
-
29
-
30
-
31
-
32
- Factory.define :polygon_geom, :default_strategy => :build do |t|
33
- t.the_geom MultiPolygon.from_polygons([Polygon.from_coordinates([[[12.4,-45.3],[45.4,41.6],[4.456,1.0698],[12.4,-45.3]],[[2.4,5.3],[5.4,1.4263],[14.46,1.06],[2.4,5.3]]]),Polygon.from_coordinates([[[0,0],[4,0],[4,4],[0,4],[0,0]],[[1,1],[3,1],[3,3],[1,3],[1,1]]])], 4326)
34
- end
35
-
36
- Factory.define :point_geom, :default_strategy => :build do |t|
37
- t.the_geom Point.from_coordinates([1,2], 4326)
38
- end
39
-
40
- Factory.define :dataset, :default_strategy => :build do |t|
41
- t.citation "Some dataset name"
42
- t.author "Galt, J. & Timmy, L."
43
- t.association :user
44
- end
45
-
46
- Factory.define :user, :default_strategy => :build do |t|
47
- t.title "Mr"
48
- t.first_name "simon"
49
- t.last_name "tokumine"
50
- t.sequence(:username) {|n| "simon#{n}"}
51
- t.sequence(:email) {|n| "simon#{n}@tokumine.com"}
52
- t.password "secret"
53
- t.password_confirmation "secret"
54
- t.first_login_ip "88.96.173.198"
55
- t.latitude 53.6167
56
- t.longitude -2.15
57
- t.association :country
58
- end
59
-
60
- Factory.define :species, :default_strategy => :build do |t|
61
- t.name "elephant"
62
- t.url "http://somwere.com"
63
- t.association :site
64
- end
65
-
66
- Factory.define :point_of_interest, :default_strategy => :build do |t|
67
- t.title "waterfall"
68
- t.summary "nice waterfall"
69
- t.url "http://www.google.com"
70
- end
71
-
72
- Factory.define :image, :default_strategy => :build do |u|
73
- u.photo { ActionController::TestUploadedFile.new(File.join(RAILS_ROOT, 'test', 'resources', 'chewie.jpg')) }
74
- end
75
-
76
- Factory.define :image_han, :class => :image, :default_strategy => :build do |u|
77
- u.photo { ActionController::TestUploadedFile.new(File.join(RAILS_ROOT, 'test', 'resources', 'han.jpg')) }
78
- end
79
-
80
- Factory.define :site, :default_strategy => :build do |t|
81
- t.association :abstract_pa
82
- end
83
-
84
- Factory.define :protected_area, :default_strategy => :build do |t|
85
- t.state "complete"
86
- t.english_name "Yosemite"
87
- t.local_name "Yosemite"
88
- t.total_area 123123
89
- t.total_area_marine 32432
90
- t.status_date 10.years.ago
91
- t.legally_extended true
92
- t.legally_reduced false
93
- t.legally_reclassified false
94
- t.association :site
95
- t.association :designation
96
- t.association :iucn_category
97
- t.association :legal_status
98
- t.association :polygon_geom
99
- t.association :point_geom
100
- t.association :dataset
101
- t.association :user
102
- end
103
-
104
-
105
-
106
-
data/test/test_helper.rb DELETED
@@ -1,62 +0,0 @@
1
- ENV["RAILS_ENV"] = "test"
2
- require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
3
- require 'test_help'
4
-
5
- class ActiveSupport::TestCase
6
- # Transactional fixtures accelerate your tests by wrapping each test method
7
- # in a transaction that's rolled back on completion. This ensures that the
8
- # test database remains unchanged so your fixtures don't have to be reloaded
9
- # between every test method. Fewer database queries means faster tests.
10
- #
11
- # Read Mike Clark's excellent walkthrough at
12
- # http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
13
- #
14
- # Every Active Record database supports transactions except MyISAM tables
15
- # in MySQL. Turn off transactional fixtures in this case; however, if you
16
- # don't care one way or the other, switching from MyISAM to InnoDB tables
17
- # is recommended.
18
- #
19
- # The only drawback to using transactional fixtures is when you actually
20
- # need to test transactions. Since your test is bracketed by a transaction,
21
- # any transactions started in your code will be automatically rolled back.
22
- self.use_transactional_fixtures = true
23
-
24
- # Instantiated fixtures are slow, but give you @david where otherwise you
25
- # would need people(:david). If you don't want to migrate your existing
26
- # test cases which use the @david style and don't mind the speed hit (each
27
- # instantiated fixtures translates to a database query per test method),
28
- # then set this back to true.
29
- self.use_instantiated_fixtures = false
30
-
31
- # Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
32
- #
33
- # Note: You'll currently still have to declare fixtures explicitly in integration tests
34
- # -- they do not yet inherit this setting
35
- fixtures :all
36
-
37
- # Add more helper methods to be used by all tests here...
38
- end
39
-
40
- class PGconn
41
- def PGconn.quote_ident(name)
42
- %("#{name}")
43
- end
44
- end
45
-
46
- class Test::Unit::TestCase
47
- def self.should_have_attached_file(attachment)
48
- klass = self.name.gsub(/Test$/, '').constantize
49
-
50
- context "To support a paperclip attachment named #{attachment}, #{klass}" do
51
- should_have_db_column("#{attachment}_file_name", :type => :string)
52
- should_have_db_column("#{attachment}_content_type", :type => :string)
53
- should_have_db_column("#{attachment}_file_size", :type => :integer)
54
- end
55
-
56
- should "have a paperclip attachment named ##{attachment}" do
57
- assert klass.new.respond_to?(attachment.to_sym),
58
- "@#{klass.name.underscore} doesn't have a paperclip field named #{attachment}"
59
- assert_equal Paperclip::Attachment, klass.new.send(attachment.to_sym).class
60
- end
61
- end
62
- end