restpack_core_service 0.0.10 → 0.0.11

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6c467348e3e91b7a334c8b6395bbf0f9ece4eaa6
4
- data.tar.gz: e324bb1a482ce12b3cdda1c1e859bcba2ccdbc0d
3
+ metadata.gz: 504634bab2bf42ecded107859f2945e18a0df86f
4
+ data.tar.gz: d8d5fedf8d9dce3edc41bc5d3cf6bbce4e254be7
5
5
  SHA512:
6
- metadata.gz: ae5463db0dc91a0e57b4d3552efbc7f226859e449da3491ef63102a562087d58faa1ea7e03c4053000f770d519c38dd7e682a8cb4bbfd2bb68708bcad28320dc
7
- data.tar.gz: 3b15476dbb5dbbe8fe05eb6facea0b88d46c875a9fd694caadd130206c31e88f2bc71368bc290b213409a87baa8299dfa5a0ec7db0665f492b30c960c6c4c296
6
+ metadata.gz: d8bd5796073fbd62000fe529561a636508aaa2039561e04cd86c46fcff8bc00dbc54446bf087ea0805edc11c9acaa44f3381f9e72bb21eb4b5e168ec841b9f4a
7
+ data.tar.gz: bc2c6b127ba0757ea07d0ed3006ecb3db2613f3e55551ea9b7f28bd6b46a1d39939ea15d4d0126074279d6e272d0ff19c4859f6c267798acda098b10d6063f40
data/.travis.yml ADDED
@@ -0,0 +1,20 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.0.0
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_core_service_test;' -U postgres
19
+ - psql -c 'create role travis login;' -U postgres
20
+ script: bundle exec rake test
data/README.md CHANGED
@@ -1,29 +1,13 @@
1
- # RestpackCoreService
1
+ # restpack_core_service
2
2
 
3
- TODO: Write a gem description
3
+ [![Build Status](https://travis-ci.org/RestPack/restpack_core_service.png?branch=master)](https://travis-ci.org/RestPack/restpack_core_service) [![Code Climate](https://codeclimate.com/github/RestPack/restpack_core_service.png)](https://codeclimate.com/github/RestPack/restpack_core_service) [![Dependency Status](https://gemnasium.com/RestPack/restpack_core_service.png)](https://gemnasium.com/RestPack/restpack_core_service) [![Gem Version](https://badge.fury.io/rb/restpack_core_service.png)](http://badge.fury.io/rb/restpack_core_service)
4
4
 
5
- ## Installation
5
+ **Work In Progress**
6
6
 
7
- Add this line to your application's Gemfile:
7
+ This gem provides services for managing Applications and Domains.
8
8
 
9
- gem 'restpack_core_service'
9
+ ## Development Setup
10
10
 
11
- And then execute:
12
-
13
- $ bundle
14
-
15
- Or install it yourself as:
16
-
17
- $ gem install restpack_core_service
18
-
19
- ## Usage
20
-
21
- TODO: Write usage instructions here
22
-
23
- ## Contributing
24
-
25
- 1. Fork it
26
- 2. Create your feature branch (`git checkout -b my-new-feature`)
27
- 3. Commit your changes (`git commit -am 'Add some feature'`)
28
- 4. Push to the branch (`git push origin my-new-feature`)
29
- 5. Create new Pull Request
11
+ 1. install postgres
12
+ 2. create a `restpack_core_service_test` database
13
+ 3. rake
@@ -1,3 +1,5 @@
1
+ require 'public_suffix'
2
+
1
3
  module RestPack::Core::Service::Commands::Domain
2
4
  class ByIdentifier < RestPack::Service::Command
3
5
  required do
@@ -9,15 +11,32 @@ module RestPack::Core::Service::Commands::Domain
9
11
  end
10
12
 
11
13
  def execute
12
- result = Core::Serializers::DomainSerializer.resource(
13
- inputs,
14
- Core::Models::Domain.where(identifier: inputs[:identifier])
15
- )
16
-
17
- if result[:domains].any?
18
- result
19
- else
20
- status :not_found
14
+ identifiers = [
15
+ inputs[:identifier],
16
+ get_domain(identifier)
17
+ ]
18
+
19
+ identifiers.reject(&:nil?).each do |identifier|
20
+ result = Core::Serializers::DomainSerializer.resource(
21
+ inputs,
22
+ Core::Models::Domain.where(identifier: identifier)
23
+ )
24
+
25
+ if result[:domains].any?
26
+ return result
27
+ end
28
+ end
29
+
30
+ status :not_found
31
+ end
32
+
33
+ private
34
+
35
+ def get_domain(identifier)
36
+ begin
37
+ PublicSuffix.parse(identifier).domain
38
+ rescue
39
+ nil
21
40
  end
22
41
  end
23
42
  end
@@ -1,7 +1,7 @@
1
1
  module RestPack
2
2
  module Core
3
3
  module Service
4
- VERSION = "0.0.10"
4
+ VERSION = "0.0.11"
5
5
  end
6
6
  end
7
7
  end
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency "restpack_service"
22
22
  spec.add_dependency "restpack_serializer"
23
23
  spec.add_dependency "restpack_gem"
24
+ spec.add_dependency "public_suffix", "~> 1.3.1"
24
25
  spec.add_dependency "sinatra", "~> 1.4.3"
25
26
  spec.add_dependency "pg", "~> 0.16"
26
27
 
@@ -29,6 +29,17 @@ describe Core::Commands::Domain::ByIdentifier do
29
29
  response.result[:applications].length.should == 1
30
30
  response.result[:applications].first[:id].should == @domain.application_id.to_s
31
31
  end
32
+
33
+ context 'with subdomain in identifier' do
34
+ let(:params) { {
35
+ identifier: "www.#{@domain.identifier}",
36
+ includes: 'applications'
37
+ } }
38
+
39
+ it 'is valid' do
40
+ response.success?.should == true
41
+ end
42
+ end
32
43
  end
33
44
 
34
45
  context 'with invalid :identifier' do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restpack_core_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-09-07 00:00:00.000000000 Z
11
+ date: 2013-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: restpack_service
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: public_suffix
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 1.3.1
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 1.3.1
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: sinatra
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -187,6 +201,7 @@ extra_rdoc_files: []
187
201
  files:
188
202
  - .gitignore
189
203
  - .rspec
204
+ - .travis.yml
190
205
  - Gemfile
191
206
  - LICENSE.txt
192
207
  - README.md