restpack_activity_service 0.0.10 → 0.0.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c21c2223191cc1477b4843304085bd0b380e77fb
4
- data.tar.gz: 4e2cf984b5d20f21b545a01c9c3126b33ec6de2c
3
+ metadata.gz: e09bdad0ec250540f53fba875ba0373330d96b87
4
+ data.tar.gz: 3ea93c0cc8c832d6a485aec4e12017a60c4cd8d5
5
5
  SHA512:
6
- metadata.gz: 9dbdf52da0c4c30647641c66bdc388c903afa8f8c558cf809a807188a83e899bb452978d6a5ba6992cbdec2ac61aec77f279f21a4afb20a0d9685cb8bcfc5ea5
7
- data.tar.gz: c19e259f1a51650812725026b047bf140bedbefe2b130813b07bea7a88209b7acda34ee5531fe0ce696c1ca320653b1872c4821a16942a02267d6967c508f921
6
+ metadata.gz: 9bd634abf3779e46c5f088e97bed4c3189c617cd5a787f9076ba749d39c02945a06278d8721018bf95394eb50411e52c6eb3a5a1b6657223d3cf56aa88fd08ed
7
+ data.tar.gz: 8fe40b5310e7a0ab1409c7b90c3639ea89da0589cd7336e9dd2e863415d9510935c5ece805f0aa8f23a9acbb65c157f877333bb3e86b0bb6c1d956384d21b8d6
data/.travis.yml CHANGED
@@ -1,6 +1,20 @@
1
1
  language: ruby
2
2
  rvm:
3
3
  - 2.0.0
4
- env:
5
- - DATABASE_URL=$(curl http://api.postgression.com)
4
+ #http://reefpoints.dockyard.com/ruby/2013/03/29/running-postgresql-9-2-on-travis-ci.html
5
+ before_script:
6
+ - sudo /etc/init.d/postgresql stop
7
+ - sudo cp /etc/postgresql/9.1/main/pg_hba.conf ./
8
+ - sudo apt-get remove postgresql postgresql-9.1 -qq --purge
9
+ - source /etc/lsb-release
10
+ - echo "deb http://apt.postgresql.org/pub/repos/apt/ $DISTRIB_CODENAME-pgdg main" > pgdg.list
11
+ - sudo mv pgdg.list /etc/apt/sources.list.d/
12
+ - wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
13
+ - sudo apt-get update
14
+ - sudo apt-get -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" install postgresql-9.2 postgresql-contrib-9.2 -qq
15
+ - sudo /etc/init.d/postgresql stop
16
+ - sudo cp ./pg_hba.conf /etc/postgresql/9.2/main
17
+ - sudo /etc/init.d/postgresql start
18
+ - psql -c 'create database restpack_activity_service_test;' -U postgres
19
+ - psql -c 'create role travis login;' -U postgres
6
20
  script: bundle exec rake test
@@ -1,17 +1,4 @@
1
- require "active_record"
2
- require "restpack_service"
3
- require "restpack_serializer"
4
-
5
- require "restpack_activity_service/version"
6
- require "restpack_activity_service/configuration"
7
- require "restpack_activity_service/models/activity"
8
-
9
- require "restpack_activity_service/serializers/activity_serializer"
10
- require "restpack_activity_service/services"
11
- require "restpack_activity_service/tasks"
1
+ require 'restpack_service'
2
+ RestPack::Service::Loader.load 'activity', Dir.pwd
12
3
 
13
4
  require "restpack_activity_service/api/activity"
14
-
15
- Models = RestPack::Activity::Service::Models
16
- Commands = RestPack::Activity::Service::Commands
17
- Serializers = RestPack::Activity::Service::Serializers
@@ -0,0 +1,42 @@
1
+ module RestPack::Activity::Service::Commands
2
+ module Activity
3
+ class Create < RestPack::Service::Command
4
+ required do
5
+ integer :application_id
6
+ integer :user_id
7
+ string :content
8
+ end
9
+
10
+ optional do
11
+ string :title, empty: true
12
+ string :tags, empty: true
13
+ string :access, empty: true
14
+ float :latitude
15
+ float :longitude
16
+ end
17
+
18
+ def init
19
+ inputs[:data] = raw_inputs[:data] if raw_inputs[:data]
20
+
21
+ if latitude.present? || longitude.present?
22
+ if latitude.present? != longitude.present?
23
+ service_error "Both Latitude and Longitude are required"
24
+ end
25
+ end
26
+
27
+ if title == "error"
28
+ service_error "This is a service error"
29
+ end
30
+
31
+ if title == "custom"
32
+ field_error :title, "Title should not be 'custom'"
33
+ end
34
+ end
35
+
36
+ def execute
37
+ activity = Models::Activity.create(inputs)
38
+ Serializers::Activity.as_json(activity)
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,24 @@
1
+ module RestPack::Activity::Service::Commands
2
+ module Activity
3
+ class Destroy < RestPack::Service::Command
4
+ required do
5
+ integer :id
6
+ integer :application_id
7
+ end
8
+
9
+ def execute
10
+ activity = Models::Activity.find_by_id_and_application_id(
11
+ inputs[:id],
12
+ inputs[:application_id]
13
+ )
14
+
15
+ if activity
16
+ activity.destroy
17
+ nil
18
+ else
19
+ status :not_found
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ module RestPack::Activity::Service::Commands
2
+ module Activity
3
+ class Get < RestPack::Service::Command
4
+ required do
5
+ integer :id
6
+ integer :application_id
7
+ end
8
+
9
+ def execute
10
+ activity = Models::Activity.find_by_id_and_application_id(
11
+ inputs[:id],
12
+ inputs[:application_id]
13
+ )
14
+
15
+ if activity
16
+ Serializers::Activity.as_json(activity)
17
+ else
18
+ status :not_found
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,30 @@
1
+ module RestPack::Activity::Service::Commands
2
+ module Activity
3
+ class List < RestPack::Service::Command
4
+ required do
5
+ integer :application_id
6
+ end
7
+
8
+ optional do
9
+ integer :user_id
10
+ integer :page
11
+ integer :page_size
12
+ string :tags
13
+ string :access
14
+ string :query
15
+ end
16
+
17
+ def execute
18
+ scope = Models::Activity.all
19
+ scope = scope.where(application_id: application_id)
20
+
21
+ scope = scope.where(user_id: user_id) if user_id
22
+ scope = scope.all_tags_csv(tags) if tags
23
+ scope = scope.any_tags_csv(access, :access) if access
24
+ scope = scope.search(query) if query
25
+
26
+ Serializers::Activity.resource(inputs, scope)
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,36 @@
1
+ module RestPack::Activity::Service::Commands
2
+ module Activity
3
+ class Update < RestPack::Service::Command
4
+ required do
5
+ integer :id
6
+ integer :application_id
7
+ end
8
+
9
+ optional do
10
+ string :title, empty: true
11
+ string :content
12
+ string :tags, empty: true
13
+ string :access, empty: true
14
+ float :latitude
15
+ float :longitude
16
+ end
17
+
18
+ def init
19
+ inputs[:data] = raw_inputs[:data] if raw_inputs[:data]
20
+ end
21
+
22
+ def execute
23
+ activity = Models::Activity.find_by_id_and_application_id(
24
+ inputs[:id], inputs[:application_id]
25
+ )
26
+
27
+ if activity
28
+ activity.update_attributes(inputs)
29
+ Serializers::Activity.as_json(activity)
30
+ else
31
+ status :not_found
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
@@ -1,8 +1,8 @@
1
1
  module RestPack::Activity::Service::Serializers
2
- class ActivitySerializer
2
+ class Activity
3
3
  include RestPack::Serializer
4
4
 
5
- self.model_class = RestPack::Activity::Service::Models::Activity
5
+ self.model_class = Models::Activity
6
6
  self.key = :activities
7
7
 
8
8
  attributes :id, :application_id, :user_id, :title, :content, :latitude, :longitude,
@@ -1,7 +1,7 @@
1
1
  module RestPack
2
2
  module Activity
3
3
  module Service
4
- VERSION = "0.0.10"
4
+ VERSION = "0.0.11"
5
5
  end
6
6
  end
7
7
  end
@@ -19,10 +19,6 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_dependency "restpack_service"
22
- spec.add_dependency "restpack_serializer"
23
- spec.add_dependency "restpack_gem"
24
- spec.add_dependency "sinatra", "~> 1.4.3"
25
- spec.add_dependency "pg", "~> 0.16"
26
22
 
27
23
  spec.add_development_dependency "bundler", "~> 1.3"
28
24
  spec.add_development_dependency "database_cleaner", "~> 1.0.1"
@@ -6,7 +6,7 @@ class ActivityFactory
6
6
  content: "This is the content ##{sequence}"
7
7
  })
8
8
 
9
- RestPack::Activity::Service::Commands::Activity::Create.run!(params)
9
+ Commands::Activity::Create.run!(params)
10
10
  end
11
11
 
12
12
  private
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restpack_activity_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.10
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gavin Joyce
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-23 00:00:00.000000000 Z
11
+ date: 2013-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: restpack_service
@@ -24,62 +24,6 @@ dependencies:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: restpack_serializer
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - '>='
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
- - !ruby/object:Gem::Dependency
42
- name: restpack_gem
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - '>='
46
- - !ruby/object:Gem::Version
47
- version: '0'
48
- type: :runtime
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: sinatra
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ~>
60
- - !ruby/object:Gem::Version
61
- version: 1.4.3
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ~>
67
- - !ruby/object:Gem::Version
68
- version: 1.4.3
69
- - !ruby/object:Gem::Dependency
70
- name: pg
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - ~>
74
- - !ruby/object:Gem::Version
75
- version: '0.16'
76
- type: :runtime
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ~>
81
- - !ruby/object:Gem::Version
82
- version: '0.16'
83
27
  - !ruby/object:Gem::Dependency
84
28
  name: bundler
85
29
  requirement: !ruby/object:Gem::Requirement
@@ -195,17 +139,17 @@ files:
195
139
  - db/migrate/20130630145408_create_activity_table.rb
196
140
  - lib/restpack_activity_service.rb
197
141
  - lib/restpack_activity_service/api/activity.rb
142
+ - lib/restpack_activity_service/commands/activity/create.rb
143
+ - lib/restpack_activity_service/commands/activity/destroy.rb
144
+ - lib/restpack_activity_service/commands/activity/get.rb
145
+ - lib/restpack_activity_service/commands/activity/list.rb
146
+ - lib/restpack_activity_service/commands/activity/update.rb
198
147
  - lib/restpack_activity_service/configuration.rb
199
148
  - lib/restpack_activity_service/models/activity.rb
200
- - lib/restpack_activity_service/serializers/activity_serializer.rb
149
+ - lib/restpack_activity_service/serializers/activity.rb
201
150
  - lib/restpack_activity_service/services.rb
202
- - lib/restpack_activity_service/services/activity/create.rb
203
- - lib/restpack_activity_service/services/activity/destroy.rb
204
- - lib/restpack_activity_service/services/activity/get.rb
205
- - lib/restpack_activity_service/services/activity/list.rb
206
- - lib/restpack_activity_service/services/activity/update.rb
207
- - lib/restpack_activity_service/tasks.rb
208
151
  - lib/restpack_activity_service/tasks/db.rake
152
+ - lib/restpack_activity_service/tasks/tasks.rb
209
153
  - lib/restpack_activity_service/version.rb
210
154
  - restpack_activity_service.gemspec
211
155
  - spec/factories/activity_factory.rb
@@ -234,7 +178,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
234
178
  version: '0'
235
179
  requirements: []
236
180
  rubyforge_project:
237
- rubygems_version: 2.0.3
181
+ rubygems_version: 2.0.5
238
182
  signing_key:
239
183
  specification_version: 4
240
184
  summary: Simple Activity Streams
@@ -1,40 +0,0 @@
1
- module RestPack::Activity::Service::Commands::Activity
2
- class Create < RestPack::Service::Command
3
- required do
4
- integer :application_id
5
- integer :user_id
6
- string :content
7
- end
8
-
9
- optional do
10
- string :title, empty: true
11
- string :tags, empty: true
12
- string :access, empty: true
13
- float :latitude
14
- float :longitude
15
- end
16
-
17
- def init
18
- inputs[:data] = raw_inputs[:data] if raw_inputs[:data]
19
-
20
- if latitude.present? || longitude.present?
21
- if latitude.present? != longitude.present?
22
- service_error "Both Latitude and Longitude are required"
23
- end
24
- end
25
-
26
- if title == "error"
27
- service_error "This is a service error"
28
- end
29
-
30
- if title == "custom"
31
- field_error :title, "Title should not be 'custom'"
32
- end
33
- end
34
-
35
- def execute
36
- activity = Models::Activity.create(inputs)
37
- Serializers::ActivitySerializer.as_json(activity)
38
- end
39
- end
40
- end
@@ -1,22 +0,0 @@
1
- module RestPack::Activity::Service::Commands::Activity
2
- class Destroy < RestPack::Service::Command
3
- required do
4
- integer :id
5
- integer :application_id
6
- end
7
-
8
- def execute
9
- activity = Models::Activity.find_by_id_and_application_id(
10
- inputs[:id],
11
- inputs[:application_id]
12
- )
13
-
14
- if activity
15
- activity.destroy
16
- nil
17
- else
18
- status :not_found
19
- end
20
- end
21
- end
22
- end
@@ -1,21 +0,0 @@
1
- module RestPack::Activity::Service::Commands::Activity
2
- class Get < RestPack::Service::Command
3
- required do
4
- integer :id
5
- integer :application_id
6
- end
7
-
8
- def execute
9
- activity = Models::Activity.find_by_id_and_application_id(
10
- inputs[:id],
11
- inputs[:application_id]
12
- )
13
-
14
- if activity
15
- Serializers::ActivitySerializer.as_json(activity)
16
- else
17
- status :not_found
18
- end
19
- end
20
- end
21
- end
@@ -1,28 +0,0 @@
1
- module RestPack::Activity::Service::Commands::Activity
2
- class List < RestPack::Service::Command
3
- required do
4
- integer :application_id
5
- end
6
-
7
- optional do
8
- integer :user_id
9
- integer :page
10
- integer :page_size
11
- string :tags
12
- string :access
13
- string :query
14
- end
15
-
16
- def execute
17
- scope = Models::Activity.all
18
- scope = scope.where(application_id: application_id)
19
-
20
- scope = scope.where(user_id: user_id) if user_id
21
- scope = scope.all_tags_csv(tags) if tags
22
- scope = scope.any_tags_csv(access, :access) if access
23
- scope = scope.search(query) if query
24
-
25
- Serializers::ActivitySerializer.resource(inputs, scope)
26
- end
27
- end
28
- end
@@ -1,32 +0,0 @@
1
- module RestPack::Activity::Service::Commands::Activity
2
- class Update < RestPack::Service::Command
3
- required do
4
- integer :id
5
- integer :application_id
6
- end
7
-
8
- optional do
9
- string :title, empty: true
10
- string :content
11
- string :tags, empty: true
12
- string :access, empty: true
13
- float :latitude
14
- float :longitude
15
- end
16
-
17
- def init
18
- inputs[:data] = raw_inputs[:data] if raw_inputs[:data]
19
- end
20
-
21
- def execute
22
- activity = RestPack::Activity::Service::Models::Activity.find_by_id_and_application_id(inputs[:id], inputs[:application_id])
23
-
24
- if activity
25
- activity.update_attributes(inputs)
26
- RestPack::Activity::Service::Serializers::ActivitySerializer.as_json(activity)
27
- else
28
- status :not_found
29
- end
30
- end
31
- end
32
- end