jackie 0.1.2 → 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.
- data/.travis.yml +8 -12
- data/Gemfile +0 -1
- data/README.md +3 -3
- data/jackie.gemspec +8 -7
- data/lib/jackie.rb +1 -1
- data/lib/jackie/aws_uploader.rb +8 -12
- data/lib/jackie/base.rb +3 -2
- data/test/app_test.rb +1 -1
- data/test/gemfiles/Gemfile.ares-3.0.x +4 -0
- data/test/gemfiles/Gemfile.ares-3.1.x +4 -0
- data/test/gemfiles/Gemfile.ares-3.2.x +4 -0
- data/test/gemfiles/Gemfile.ares-4.0.x +4 -0
- data/test/test_helper.rb +3 -3
- data/test/version_test.rb +3 -3
- metadata +34 -10
data/.travis.yml
CHANGED
@@ -1,17 +1,13 @@
|
|
1
1
|
language: ruby
|
2
2
|
rvm:
|
3
|
-
- 1.9.2
|
4
3
|
- 1.9.3
|
5
4
|
- 2.0.0
|
6
|
-
- rbx
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
env: JRUBY_OPTS="--1.9 --server -Xcext.enabled=true"
|
14
|
-
- rvm: jruby-head
|
15
|
-
env: JRUBY_OPTS="--1.9 --server -Xcext.enabled=true"
|
5
|
+
- rbx-19mode
|
6
|
+
- jruby-19mode
|
7
|
+
gemfile:
|
8
|
+
- test/gemfiles/Gemfile.ares-3.0.x
|
9
|
+
- test/gemfiles/Gemfile.ares-3.1.x
|
10
|
+
- test/gemfiles/Gemfile.ares-3.2.x
|
11
|
+
- test/gemfiles/Gemfile.ares-4.0.x
|
16
12
|
before_script:
|
17
|
-
- rake fake_s3
|
13
|
+
- rake fake_s3
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
# Jackie
|
4
4
|
|
5
|
-
A Ruby interface to the
|
5
|
+
A Ruby interface to the [App.io API](http://docs.app.io/api/).
|
6
6
|
|
7
7
|
## Installation
|
8
8
|
|
@@ -71,7 +71,7 @@ Jackie.configure_s3({
|
|
71
71
|
version = Jackie::Version.new(:app_id => app.id, :file => "path/to/local/file.zip")
|
72
72
|
version.save
|
73
73
|
```
|
74
|
-
For additional information read the [
|
74
|
+
For additional information read the [App.io API docs](http://docs.app.io/api/)
|
75
75
|
|
76
76
|
## Contributing
|
77
77
|
|
@@ -84,5 +84,5 @@ For additional information read the [Kickfolio API docs](https://github.com/Kick
|
|
84
84
|
License
|
85
85
|
-------
|
86
86
|
|
87
|
-
Jackie is Copyright © 2013
|
87
|
+
Jackie is Copyright © 2013 HeapSource. It is free software,
|
88
88
|
and may be redistributed under the terms specified in the LICENSE.txt file.
|
data/jackie.gemspec
CHANGED
@@ -2,12 +2,12 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = "jackie"
|
5
|
-
spec.version = "0.
|
6
|
-
spec.authors = ["Lacides Charris", "Guillermo Iguaran", "Roberto Miranda", "
|
7
|
-
spec.email = ["lacides@
|
8
|
-
spec.description = %q{A Ruby interface to the
|
9
|
-
spec.summary = %q{A Ruby interface to the
|
10
|
-
spec.homepage = ""
|
5
|
+
spec.version = "0.2.0"
|
6
|
+
spec.authors = ["Lacides Charris", "Guillermo Iguaran", "Roberto Miranda", "HeapSource"]
|
7
|
+
spec.email = ["lacides@heapsource.com", "guille@heapsource.com", "roberto@heapsource.com", "hello@firebase.co"]
|
8
|
+
spec.description = %q{A Ruby interface to the App.io API.}
|
9
|
+
spec.summary = %q{A Ruby interface to the App.io API}
|
10
|
+
spec.homepage = "https://github.com/heapsource/jackie"
|
11
11
|
spec.license = "MIT"
|
12
12
|
|
13
13
|
spec.files = `git ls-files`.split($/)
|
@@ -16,8 +16,9 @@ Gem::Specification.new do |spec|
|
|
16
16
|
spec.require_paths = ["lib"]
|
17
17
|
|
18
18
|
spec.add_development_dependency "rake"
|
19
|
-
spec.add_development_dependency "minitest"
|
19
|
+
spec.add_development_dependency "minitest", "~> 4.7"
|
20
20
|
spec.add_development_dependency "fakes3"
|
21
|
+
spec.add_development_dependency "aws-s3"
|
21
22
|
|
22
23
|
spec.add_dependency "activeresource", ">= 3.0"
|
23
24
|
end
|
data/lib/jackie.rb
CHANGED
@@ -3,7 +3,6 @@ require "active_resource"
|
|
3
3
|
require "jackie/base"
|
4
4
|
require "jackie/app"
|
5
5
|
require "jackie/version"
|
6
|
-
require "jackie/aws_uploader"
|
7
6
|
|
8
7
|
module Jackie
|
9
8
|
def self.api_key=(api_key)
|
@@ -13,6 +12,7 @@ module Jackie
|
|
13
12
|
# So, it should be straightforward to add support for ftp or dropbox or whatever.
|
14
13
|
# By creating a uploader (with the public api of AWSUploader) and calling set_uploader with it
|
15
14
|
def self.configure_s3(connection_params, access_params)
|
15
|
+
require "jackie/aws_uploader"
|
16
16
|
Jackie::Version.set_uploader(Jackie::AWSUploader.new(connection_params, access_params))
|
17
17
|
end
|
18
18
|
end
|
data/lib/jackie/aws_uploader.rb
CHANGED
@@ -1,7 +1,13 @@
|
|
1
|
+
begin
|
2
|
+
require "aws/s3"
|
3
|
+
rescue LoadError => e
|
4
|
+
$stderr.puts "You don't have aws/s3 installed in your application. Please add it to your Gemfile and run bundle install"
|
5
|
+
raise e
|
6
|
+
end
|
7
|
+
|
1
8
|
module Jackie
|
2
9
|
class AWSUploader
|
3
10
|
def initialize(connection_params, access_params)
|
4
|
-
load_dependency
|
5
11
|
AWS::S3::Base.establish_connection!(connection_params)
|
6
12
|
@config = access_params
|
7
13
|
end
|
@@ -10,15 +16,5 @@ module Jackie
|
|
10
16
|
AWS::S3::S3Object.store(file, open(file), @config[:bucket])
|
11
17
|
AWS::S3::S3Object.url_for(file, @config[:bucket])
|
12
18
|
end
|
13
|
-
|
14
|
-
private
|
15
|
-
def load_dependency
|
16
|
-
begin
|
17
|
-
require "aws/s3"
|
18
|
-
rescue LoadError => e
|
19
|
-
$stderr.puts "You don't have aws/s3 installed in your application. Please add it to your Gemfile and run bundle install"
|
20
|
-
raise e
|
21
|
-
end
|
22
|
-
end
|
23
19
|
end
|
24
|
-
end
|
20
|
+
end
|
data/lib/jackie/base.rb
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
module Jackie
|
2
2
|
class Base < ActiveResource::Base
|
3
|
-
self.site = "https://
|
4
|
-
|
3
|
+
self.site = "https://app.io/api/"
|
4
|
+
self.format = :json
|
5
|
+
headers['Accept'] = 'application/vnd.app.io+json;version=1'
|
5
6
|
|
6
7
|
class << self
|
7
8
|
def headers
|
data/test/app_test.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -4,13 +4,13 @@ $LOAD_PATH.unshift testdir unless $LOAD_PATH.include?(testdir)
|
|
4
4
|
libdir = File.dirname(File.dirname(__FILE__)) + '/lib'
|
5
5
|
$LOAD_PATH.unshift libdir unless $LOAD_PATH.include?(libdir)
|
6
6
|
|
7
|
-
require "rubygems"
|
8
7
|
require "jackie"
|
9
8
|
require "minitest/autorun"
|
9
|
+
require "aws/s3"
|
10
10
|
|
11
11
|
Jackie.api_key = "MyKickfolioApiKey"
|
12
12
|
|
13
|
-
class
|
13
|
+
class MiniTest::Unit::TestCase
|
14
14
|
def with_fake_s3
|
15
15
|
Jackie.configure_s3({
|
16
16
|
:access_key_id => "123",
|
@@ -53,7 +53,7 @@ class Minitest::Test
|
|
53
53
|
"updated_at"=>"2013-02-21T20:16:28Z",
|
54
54
|
"comment_ids"=>[]}
|
55
55
|
|
56
|
-
@headers = {"Accept"=>"application/vnd.
|
56
|
+
@headers = {"Accept"=>"application/vnd.app.io+json;version=1", "Authorization"=>"Basic TXlLaWNrZm9saW9BcGlLZXk="}
|
57
57
|
ActiveResource::HttpMock.respond_to do |mock|
|
58
58
|
mock.get "/api/apps/1.json", @headers, @app
|
59
59
|
mock.get "/api/versions.json?app_id=1", @headers, [@version].to_json
|
data/test/version_test.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require "test_helper"
|
2
|
-
class VersionTest <
|
2
|
+
class VersionTest < MiniTest::Unit::TestCase
|
3
3
|
mock_requests!
|
4
4
|
|
5
5
|
def setup
|
@@ -15,14 +15,14 @@ class VersionTest < Minitest::Test
|
|
15
15
|
with_fake_s3 do
|
16
16
|
version = Jackie::Version.new(:app_id => 1, :file => File.basename(__FILE__))
|
17
17
|
version.save
|
18
|
-
assert_match
|
18
|
+
assert_match(/http:\/\/localhost:10453\/nuvado-test\/version_test\.rb/, version.bundle_url)
|
19
19
|
end
|
20
20
|
end
|
21
21
|
|
22
22
|
def test_create_with_file
|
23
23
|
with_fake_s3 do
|
24
24
|
version = Jackie::Version.create(:app_id => 1, :file => File.basename(__FILE__))
|
25
|
-
assert_match
|
25
|
+
assert_match(/http:\/\/localhost:10453\/nuvado-test\/version_test\.rb/, version.bundle_url)
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jackie
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Lacides Charris
|
9
9
|
- Guillermo Iguaran
|
10
10
|
- Roberto Miranda
|
11
|
-
-
|
11
|
+
- HeapSource
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date: 2013-
|
15
|
+
date: 2013-06-07 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: rake
|
@@ -32,6 +32,22 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: minitest
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
none: false
|
37
|
+
requirements:
|
38
|
+
- - ~>
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '4.7'
|
41
|
+
type: :development
|
42
|
+
prerelease: false
|
43
|
+
version_requirements: !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
45
|
+
requirements:
|
46
|
+
- - ~>
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: '4.7'
|
49
|
+
- !ruby/object:Gem::Dependency
|
50
|
+
name: fakes3
|
35
51
|
requirement: !ruby/object:Gem::Requirement
|
36
52
|
none: false
|
37
53
|
requirements:
|
@@ -47,7 +63,7 @@ dependencies:
|
|
47
63
|
- !ruby/object:Gem::Version
|
48
64
|
version: '0'
|
49
65
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
66
|
+
name: aws-s3
|
51
67
|
requirement: !ruby/object:Gem::Requirement
|
52
68
|
none: false
|
53
69
|
requirements:
|
@@ -78,11 +94,11 @@ dependencies:
|
|
78
94
|
- - ! '>='
|
79
95
|
- !ruby/object:Gem::Version
|
80
96
|
version: '3.0'
|
81
|
-
description: A Ruby interface to the
|
97
|
+
description: A Ruby interface to the App.io API.
|
82
98
|
email:
|
83
|
-
- lacides@
|
84
|
-
- guille@
|
85
|
-
- roberto@
|
99
|
+
- lacides@heapsource.com
|
100
|
+
- guille@heapsource.com
|
101
|
+
- roberto@heapsource.com
|
86
102
|
- hello@firebase.co
|
87
103
|
executables: []
|
88
104
|
extensions: []
|
@@ -102,9 +118,13 @@ files:
|
|
102
118
|
- lib/jackie/version.rb
|
103
119
|
- test/app_test.rb
|
104
120
|
- test/fixtures/app.json
|
121
|
+
- test/gemfiles/Gemfile.ares-3.0.x
|
122
|
+
- test/gemfiles/Gemfile.ares-3.1.x
|
123
|
+
- test/gemfiles/Gemfile.ares-3.2.x
|
124
|
+
- test/gemfiles/Gemfile.ares-4.0.x
|
105
125
|
- test/test_helper.rb
|
106
126
|
- test/version_test.rb
|
107
|
-
homepage:
|
127
|
+
homepage: https://github.com/heapsource/jackie
|
108
128
|
licenses:
|
109
129
|
- MIT
|
110
130
|
post_install_message:
|
@@ -128,9 +148,13 @@ rubyforge_project:
|
|
128
148
|
rubygems_version: 1.8.25
|
129
149
|
signing_key:
|
130
150
|
specification_version: 3
|
131
|
-
summary: A Ruby interface to the
|
151
|
+
summary: A Ruby interface to the App.io API
|
132
152
|
test_files:
|
133
153
|
- test/app_test.rb
|
134
154
|
- test/fixtures/app.json
|
155
|
+
- test/gemfiles/Gemfile.ares-3.0.x
|
156
|
+
- test/gemfiles/Gemfile.ares-3.1.x
|
157
|
+
- test/gemfiles/Gemfile.ares-3.2.x
|
158
|
+
- test/gemfiles/Gemfile.ares-4.0.x
|
135
159
|
- test/test_helper.rb
|
136
160
|
- test/version_test.rb
|