restpack_core_client 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ OWNkNmU5M2I0NWFkNzgwNWM0NDE0MTIzOTVjZDc2NWY5ZTRmOTMwYw==
5
+ data.tar.gz: !binary |-
6
+ YTMyMzViZjVjODc3NjA0OTUxZjlkMjU3OGRmMTk4YzdlZjY1MTkxNg==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ ZTZlYzU3ZjU0MDIwNjc1MTZmY2FkMzE3MzU4MTNkZmZlNTc0ZTE2ZjkzZjBj
10
+ NDMxNDgzOTc0OGRkMjkyYTgxYTU1ODYyNDQxM2U2ZjBmYmUwNGZkZmM3M2I1
11
+ ZjZkYzhkN2M2NGU2ZTE5OTlhNDBjYWEwY2NmYWIxN2VhODM4YWU=
12
+ data.tar.gz: !binary |-
13
+ MGUyMTllOGZkYWJhMmM1YTc0YzM4MDE2Y2E3ZjcyNjA3N2MxNjhhYmY5MGRh
14
+ ZjI0ZDk3ZTI5YzEzMDFhMzk3YjFkZmU2Y2RiYjVlY2NiZGMxY2U4MDg2NTg4
15
+ YTg2MjkxMGMxZDU0YWMzYWU1ZDVkYTZmZDIyY2Y3ZGIyNzc0MjA=
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/.travis.yml ADDED
@@ -0,0 +1,4 @@
1
+ language: ruby
2
+ rvm:
3
+ - "1.9.3"
4
+ script: bundle exec rake test
data/Gemfile ADDED
@@ -0,0 +1,8 @@
1
+ source 'https://rubygems.org'
2
+
3
+ group :test do
4
+ gem 'rspec', :require => 'spec'
5
+ end
6
+
7
+ gemspec
8
+
data/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2013 Gavin Joyce and RestPack contributors
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
4
+ this software and associated documentation files (the "Software"), to deal in
5
+ the Software without restriction, including without limitation the rights to
6
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
7
+ of the Software, and to permit persons to whom the Software is furnished to do
8
+ so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in all
11
+ copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
19
+ SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,20 @@
1
+ # RestPack core.client [![Build Status](https://travis-ci.org/RestPack/restpack_core_client.png?branch=master)](https://travis-ci.org/RestPack/restpack_core_client) [![Dependency Status](https://gemnasium.com/RestPack/restpack-core-client.png)](https://gemnasium.com/RestPack/restpack_core_client)
2
+
3
+ A client gem for restpack_core_service
4
+
5
+ ## Using the gem
6
+
7
+ Instructions coming soon...
8
+
9
+ ## Developer Environment Setup
10
+
11
+ ```
12
+ bundle install
13
+ ```
14
+
15
+ ## Running Tests
16
+
17
+ ```
18
+ rake test
19
+ ```
20
+
data/Rakefile ADDED
@@ -0,0 +1,31 @@
1
+ require "bundler/gem_tasks"
2
+
3
+ task :default => :test
4
+ task :test => :spec
5
+
6
+ begin
7
+ require "rspec/core/rake_task"
8
+
9
+ desc "Run all specs"
10
+ RSpec::Core::RakeTask.new(:spec) do |t|
11
+ t.rspec_opts = ['-cfs']
12
+ end
13
+ rescue LoadError
14
+ end
15
+
16
+ task :gem do
17
+ ["gem:build", "gem:push"].each do |task|
18
+ Rake::Task[task].reenable
19
+ Rake::Task[task].invoke
20
+ end
21
+ end
22
+
23
+ namespace :gem do
24
+ task :build do
25
+ sh "gem build restpack_core_client.gemspec"
26
+ end
27
+
28
+ task :push do
29
+ sh "gem push restpack_core_client-#{RestPack::Core::Client::VERSION}.gem"
30
+ end
31
+ end
@@ -0,0 +1,64 @@
1
+ require_relative 'models/channel'
2
+ require_relative 'models/application'
3
+ require_relative 'models/domain'
4
+ require_relative 'models/configuration'
5
+
6
+ module RestPack
7
+ module Core
8
+ module Client
9
+ class API
10
+ def initialize(domain, access_key)
11
+ @domain = domain
12
+ @access_key = access_key
13
+ end
14
+
15
+ def get_channel(id)
16
+ json = RestClient.get("http://:#{@access_key}@#{@domain}/api/v1/channels/#{id}.json")
17
+ data = Yajl::Parser.parse(json, :symbolize_keys => true)
18
+
19
+ hydrate_channel(data)
20
+ end
21
+
22
+ def get_domain(host)
23
+ json = RestClient.get("http://:#{@access_key}@#{@domain}/api/v1/domains/search.json?host=#{host}")
24
+ result = Yajl::Parser.parse(json, :symbolize_keys => true)
25
+
26
+ raise "host is not configured: #{host}" if result.empty?
27
+
28
+ result[:domains].first
29
+ end
30
+
31
+ def root_configurations
32
+ json = RestClient.get("http://:#{@access_key}@#{@domain}/api/v1/configurations/root.json")
33
+ data = Yajl::Parser.parse(json, :symbolize_keys => true)
34
+
35
+ configurations = []
36
+ data[:configurations].each do |configuration_data|
37
+ configurations << Configuration.new(configuration_data)
38
+ end
39
+ configurations
40
+ end
41
+
42
+ private
43
+
44
+ def hydrate_channel(channel_response)
45
+ channel = Channel.new(channel_response[:channels].first)
46
+
47
+ channel_response[:applications].each do |application_data|
48
+ Application.new(application_data, channel)
49
+ end
50
+
51
+ channel_response[:domains].each do |domain_data|
52
+ Domain.new(domain_data, channel)
53
+ end
54
+
55
+ channel_response[:configurations].each do |configuration_data|
56
+ Configuration.new(configuration_data, channel)
57
+ end
58
+
59
+ channel
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,39 @@
1
+ module RestPack
2
+ module Core
3
+ module Client
4
+ class Cache
5
+ attr_accessor :configurations
6
+
7
+ def initialize(api)
8
+ @api = api
9
+ @channel_ids = {}
10
+ @channels = {}
11
+ @configurations = api.root_configurations
12
+ end
13
+
14
+ def self.create(domain, access_key)
15
+ api = RestPack::Core::Client::API.new(domain, access_key)
16
+ Cache.new(api)
17
+ end
18
+
19
+ def get_channel(host)
20
+ channel_id = get_channel_id(host)
21
+ @channels[channel_id] ||= @api.get_channel(channel_id)
22
+ end
23
+
24
+ def get_channel_id(host)
25
+ @channel_ids[host] ||= @api.get_domain(host)[:channel_id]
26
+ end
27
+
28
+ def get_configuration(key)
29
+ @configurations.find { |c| c.key == key.to_s }
30
+ end
31
+
32
+ def get_configuration_value(key, default_value = nil)
33
+ config = get_configuration(key)
34
+ config.nil? ? default_value : config.value
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,34 @@
1
+ module RestPack::Core::Client
2
+ class Application
3
+ attr_accessor :id, :name, :href, :channel, :domains, :configurations
4
+
5
+ def initialize(data, channel)
6
+ @domains = []
7
+ @configurations = []
8
+
9
+ @id = data[:id].to_i
10
+ @name = data[:name]
11
+ @href = data[:href]
12
+
13
+ @channel = channel
14
+ @channel.applications << self
15
+ end
16
+
17
+ def get_configuration_by_key(key)
18
+ @configurations.find { |c| c.key == key.to_s }
19
+ end
20
+
21
+ def known_domain_names
22
+ configuration = get_configuration_by_key(:domains)
23
+ configuration.nil? ? {} : configuration.value
24
+ end
25
+
26
+ def home_domain #TODO: GJ: dynamic
27
+ known_domain_names[:home]
28
+ end
29
+
30
+ def auth_domain
31
+ known_domain_names[:auth]
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,31 @@
1
+ module RestPack::Core::Client
2
+ class Channel
3
+ attr_accessor :id, :name, :href, :applications, :domains, :configurations
4
+
5
+ def initialize(data)
6
+ @applications = []
7
+ @domains = []
8
+ @configurations = []
9
+
10
+ @id = data[:id].to_i
11
+ @name = data[:name]
12
+ @href = data[:href]
13
+ end
14
+
15
+ def get_application(id)
16
+ @applications.find { |a| a.id == id.to_i }
17
+ end
18
+
19
+ def get_domain(id)
20
+ @domains.find { |a| a.id == id.to_i }
21
+ end
22
+
23
+ def get_domain_by_host(host)
24
+ @domains.find { |a| a.host == host }
25
+ end
26
+
27
+ def get_configuration(id)
28
+ @configurations.find { |a| a.id == id.to_i }
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,23 @@
1
+ module RestPack::Core::Client
2
+ class Configuration
3
+ attr_accessor :id, :key, :value, :href, :channel, :application, :domain
4
+
5
+ def initialize(data, channel = nil)
6
+ @id = data[:id].to_i
7
+ @key = data[:key]
8
+ @value = data[:value]
9
+ @href = data[:href]
10
+
11
+ if channel
12
+ @channel = channel
13
+ @application = channel.get_application(data[:application_id])
14
+ @domain = channel.get_domain(data[:domain_id])
15
+
16
+ @channel.configurations << self
17
+ @application.configurations << self if @application
18
+ @domain.configurations << self if @domain
19
+ end
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,19 @@
1
+ module RestPack::Core::Client
2
+ class Domain
3
+ attr_accessor :id, :host, :href, :channel, :application, :configurations
4
+
5
+ def initialize(data, channel)
6
+ @configurations = []
7
+
8
+ @id = data[:id].to_i
9
+ @host = data[:host]
10
+ @href = data[:href]
11
+
12
+ @channel = channel
13
+ @application = channel.get_application(data[:links][:application])
14
+
15
+ @channel.domains << self
16
+ @application.domains << self
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,7 @@
1
+ module RestPack
2
+ module Core
3
+ module Client
4
+ VERSION = "0.2.0"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,5 @@
1
+ require 'restpack_core_client/version'
2
+ require 'restpack_core_client/api'
3
+ require 'restpack_core_client/cache'
4
+ require 'rest_client'
5
+ require 'yajl'
@@ -0,0 +1,25 @@
1
+ # -*- encoding: utf-8 -*-
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'restpack_core_client/version'
5
+
6
+ Gem::Specification.new do |gem|
7
+ gem.name = "restpack_core_client"
8
+ gem.version = RestPack::Core::Client::VERSION
9
+ gem.authors = ["Gavin Joyce"]
10
+ gem.email = ["gavinjoyce@gmail.com"]
11
+ gem.description = %q{A simple client gem for restpack-core-service}
12
+ gem.summary = %q{A simple client gem for restpack-core-service}
13
+ gem.homepage = "https://github.com/RestPack"
14
+
15
+ gem.files = `git ls-files`.split($/)
16
+ gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
17
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
+ gem.require_paths = ["lib"]
19
+
20
+ gem.add_dependency 'rest-client', '~> 1.6.7'
21
+ gem.add_dependency 'yajl-ruby', '~> 1.1.0'
22
+
23
+ gem.add_development_dependency 'rspec', '~> 2.12.1'
24
+ gem.add_development_dependency 'rake', '~> 10.0.3'
25
+ end
data/spec/api_spec.rb ADDED
@@ -0,0 +1,49 @@
1
+ require 'spec_helper'
2
+
3
+ describe RestPack::Core::Client::API do
4
+ let(:api) { RestPack::Core::Client::API.new('domain', 'access_key') }
5
+
6
+ describe '.get_channel' do
7
+ before do
8
+ json = File.read("#{Bundler.root}/spec/fixtures/get_channel.json")
9
+ RestClient.stub(:get).and_return(json)
10
+ end
11
+ context 'the returned channel' do
12
+ let(:channel) { api.get_channel(31) }
13
+
14
+ it 'has correct attributes' do
15
+ channel.id.should == 31
16
+ channel.name.should == 'RestPack Sample Apps'
17
+ channel.href.should == '/api/v1/channels/31.json'
18
+ end
19
+
20
+ it 'has applications' do
21
+ channel.applications.length.should == 1
22
+ channel.applications[0].id.should == 43
23
+ channel.applications[0].name.should == 'Simple Sinatra App'
24
+ channel.applications[0].href.should == '/api/v1/applications/43.json'
25
+ channel.applications[0].channel.should == channel
26
+ end
27
+
28
+ it 'has domains' do
29
+ channel.domains.length.should == 3
30
+ channel.domains[0].id.should == 83
31
+ channel.domains[0].host.should == 'sinatra-sample.restpack.io'
32
+ channel.domains[0].href.should == '/api/v1/domains/83.json'
33
+ channel.domains[0].channel.should == channel
34
+ channel.domains[0].application.should_not == nil
35
+ end
36
+
37
+ it 'has configurations' do
38
+ channel.configurations.length.should == 2
39
+ channel.configurations[0].id.should == 98
40
+ channel.configurations[0].key.should == 'domains'
41
+ channel.configurations[0].value.should == {
42
+ home: "sinatra-sample.restpack.io:9001",
43
+ auth: "auth.restpack.io:8081"
44
+ }
45
+ channel.configurations[0].href.should == '/api/v1/configurations/98.json'
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+ require 'restpack_core_client/cache'
3
+
4
+ describe RestPack::Core::Client::Cache do
5
+ let(:api) { RestPack::Core::Client::API.new('core.internal.domain.ie', 'password') }
6
+ let(:cache) { RestPack::Core::Client::Cache.new(api) }
7
+
8
+ context "with an empty cache" do
9
+ pending
10
+ end
11
+ end
@@ -0,0 +1,184 @@
1
+ {
2
+ "channels": [
3
+ {
4
+ "id": "31",
5
+ "name": "RestPack Sample Apps",
6
+ "href": "/api/v1/channels/31.json"
7
+ }
8
+ ],
9
+ "meta": {
10
+ "channels": {
11
+ "page": 1,
12
+ "page_size": 50,
13
+ "count": 1,
14
+ "includes": [
15
+ "applications",
16
+ "domains",
17
+ "configurations"
18
+ ],
19
+ "page_count": 1,
20
+ "previous_page": null,
21
+ "next_page": null,
22
+ "previous_href": null,
23
+ "next_href": null
24
+ },
25
+ "applications": {
26
+ "page": 1,
27
+ "page_size": 50,
28
+ "count": 1,
29
+ "includes": [],
30
+ "page_count": 1,
31
+ "previous_page": null,
32
+ "next_page": null,
33
+ "previous_href": null,
34
+ "next_href": null
35
+ },
36
+ "domains": {
37
+ "page": 1,
38
+ "page_size": 50,
39
+ "count": 3,
40
+ "includes": [],
41
+ "page_count": 1,
42
+ "previous_page": null,
43
+ "next_page": null,
44
+ "previous_href": null,
45
+ "next_href": null
46
+ },
47
+ "configurations": {
48
+ "page": 1,
49
+ "page_size": 50,
50
+ "count": 2,
51
+ "includes": [],
52
+ "page_count": 1,
53
+ "previous_page": null,
54
+ "next_page": null,
55
+ "previous_href": null,
56
+ "next_href": null
57
+ }
58
+ },
59
+ "links": {
60
+ "channels.applications": {
61
+ "href": "/api/v1/applications.json?channel_id={channels.id}",
62
+ "type": "applications"
63
+ },
64
+ "channels.domains": {
65
+ "href": "/api/v1/domains.json?channel_id={channels.id}",
66
+ "type": "domains"
67
+ },
68
+ "channels.configurations": {
69
+ "href": "/api/v1/configurations.json?channel_id={channels.id}",
70
+ "type": "configurations"
71
+ },
72
+ "applications.channel": {
73
+ "href": "/api/v1/channels/{applications.channel}.json",
74
+ "type": "channels"
75
+ },
76
+ "applications.domains": {
77
+ "href": "/api/v1/domains.json?application_id={applications.id}",
78
+ "type": "domains"
79
+ },
80
+ "applications.configurations": {
81
+ "href": "/api/v1/configurations.json?application_id={applications.id}",
82
+ "type": "configurations"
83
+ },
84
+ "domains.channel": {
85
+ "href": "/api/v1/channels/{domains.channel}.json",
86
+ "type": "channels"
87
+ },
88
+ "domains.application": {
89
+ "href": "/api/v1/applications/{domains.application}.json",
90
+ "type": "applications"
91
+ },
92
+ "domains.configurations": {
93
+ "href": "/api/v1/configurations.json?domain_id={domains.id}",
94
+ "type": "configurations"
95
+ },
96
+ "configurations.channel": {
97
+ "href": "/api/v1/channels/{configurations.channel}.json",
98
+ "type": "channels"
99
+ },
100
+ "configurations.application": {
101
+ "href": "/api/v1/applications/{configurations.application}.json",
102
+ "type": "applications"
103
+ },
104
+ "configurations.domain": {
105
+ "href": "/api/v1/domains/{configurations.domain}.json",
106
+ "type": "domains"
107
+ }
108
+ },
109
+ "applications": [
110
+ {
111
+ "id": "43",
112
+ "name": "Simple Sinatra App",
113
+ "href": "/api/v1/applications/43.json",
114
+ "links": {
115
+ "channel": "31"
116
+ }
117
+ }
118
+ ],
119
+ "domains": [
120
+ {
121
+ "id": "83",
122
+ "host": "sinatra-sample.restpack.io",
123
+ "href": "/api/v1/domains/83.json",
124
+ "links": {
125
+ "channel": "31",
126
+ "application": "43"
127
+ }
128
+ },
129
+ {
130
+ "id": "84",
131
+ "host": "rails-sample.restpack.io",
132
+ "href": "/api/v1/domains/84.json",
133
+ "links": {
134
+ "channel": "31",
135
+ "application": "43"
136
+ }
137
+ },
138
+ {
139
+ "id": "85",
140
+ "host": "auth.restpack.io",
141
+ "href": "/api/v1/domains/85.json",
142
+ "links": {
143
+ "channel": "31",
144
+ "application": "43"
145
+ }
146
+ }
147
+ ],
148
+ "configurations": [
149
+ {
150
+ "id": "98",
151
+ "key": "domains",
152
+ "value": {
153
+ "home": "sinatra-sample.restpack.io:9001",
154
+ "auth": "auth.restpack.io:8081"
155
+ },
156
+ "href": "/api/v1/configurations/98.json",
157
+ "links": {
158
+ "channel": "31",
159
+ "application": "43",
160
+ "domain": ""
161
+ }
162
+ },
163
+ {
164
+ "id": "99",
165
+ "key": "omniauth",
166
+ "value": {
167
+ "twitter": {
168
+ "consumer_key": "aaa",
169
+ "consumer_secret": "bbb"
170
+ },
171
+ "google_oauth2": {
172
+ "consumer_key": "35232323.apps.googleusercontent.com",
173
+ "consumer_secret": "ccc"
174
+ }
175
+ },
176
+ "href": "/api/v1/configurations/99.json",
177
+ "links": {
178
+ "channel": "31",
179
+ "application": "43",
180
+ "domain": ""
181
+ }
182
+ }
183
+ ]
184
+ }
@@ -0,0 +1,6 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ Bundler.setup(:default, :test)
4
+ require 'rspec'
5
+
6
+ require 'restpack_core_client'
metadata ADDED
@@ -0,0 +1,122 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: restpack_core_client
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.0
5
+ platform: ruby
6
+ authors:
7
+ - Gavin Joyce
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-05-30 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rest-client
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 1.6.7
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 1.6.7
27
+ - !ruby/object:Gem::Dependency
28
+ name: yajl-ruby
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 1.1.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 1.1.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 2.12.1
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 2.12.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 10.0.3
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 10.0.3
69
+ description: A simple client gem for restpack-core-service
70
+ email:
71
+ - gavinjoyce@gmail.com
72
+ executables: []
73
+ extensions: []
74
+ extra_rdoc_files: []
75
+ files:
76
+ - .gitignore
77
+ - .travis.yml
78
+ - Gemfile
79
+ - LICENSE
80
+ - README.md
81
+ - Rakefile
82
+ - lib/restpack_core_client.rb
83
+ - lib/restpack_core_client/api.rb
84
+ - lib/restpack_core_client/cache.rb
85
+ - lib/restpack_core_client/models/application.rb
86
+ - lib/restpack_core_client/models/channel.rb
87
+ - lib/restpack_core_client/models/configuration.rb
88
+ - lib/restpack_core_client/models/domain.rb
89
+ - lib/restpack_core_client/version.rb
90
+ - restpack_core_client.gemspec
91
+ - spec/api_spec.rb
92
+ - spec/cache_spec.rb
93
+ - spec/fixtures/get_channel.json
94
+ - spec/spec_helper.rb
95
+ homepage: https://github.com/RestPack
96
+ licenses: []
97
+ metadata: {}
98
+ post_install_message:
99
+ rdoc_options: []
100
+ require_paths:
101
+ - lib
102
+ required_ruby_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ! '>='
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ required_rubygems_version: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ! '>='
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ requirements: []
113
+ rubyforge_project:
114
+ rubygems_version: 2.0.3
115
+ signing_key:
116
+ specification_version: 4
117
+ summary: A simple client gem for restpack-core-service
118
+ test_files:
119
+ - spec/api_spec.rb
120
+ - spec/cache_spec.rb
121
+ - spec/fixtures/get_channel.json
122
+ - spec/spec_helper.rb