appsendr 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.
- data/Manifest +21 -0
- data/README.rdoc +1 -1
- data/Rakefile +1 -1
- data/appsendr.gemspec +7 -4
- data/lib/appsendr/binary_plist.rb +2 -22
- data/lib/appsendr/client.rb +75 -16
- data/lib/appsendr/commands/app.rb +41 -2
- data/lib/appsendr/commands/base.rb +14 -0
- data/lib/appsendr/commands/build.rb +3 -2
- data/lib/appsendr/commands/collaborators.rb +24 -0
- data/lib/appsendr/commands/deploy.rb +3 -1
- data/lib/appsendr/commands/help.rb +10 -3
- data/lib/appsendr/constants.rb +1 -1
- data/lib/appsendr.rb +24 -0
- data/terms +0 -0
- metadata +22 -5
data/Manifest
CHANGED
@@ -0,0 +1,21 @@
|
|
1
|
+
Manifest
|
2
|
+
README.rdoc
|
3
|
+
Rakefile
|
4
|
+
appsendr.gemspec
|
5
|
+
bin/appsendr
|
6
|
+
lib/appsendr.rb
|
7
|
+
lib/appsendr/binary_plist.rb
|
8
|
+
lib/appsendr/client.rb
|
9
|
+
lib/appsendr/command.rb
|
10
|
+
lib/appsendr/commands/app.rb
|
11
|
+
lib/appsendr/commands/auth.rb
|
12
|
+
lib/appsendr/commands/base.rb
|
13
|
+
lib/appsendr/commands/build.rb
|
14
|
+
lib/appsendr/commands/collaborators.rb
|
15
|
+
lib/appsendr/commands/deploy.rb
|
16
|
+
lib/appsendr/commands/help.rb
|
17
|
+
lib/appsendr/commands/testers.rb
|
18
|
+
lib/appsendr/commands/version.rb
|
19
|
+
lib/appsendr/constants.rb
|
20
|
+
lib/appsendr/helpers.rb
|
21
|
+
terms
|
data/README.rdoc
CHANGED
data/Rakefile
CHANGED
@@ -10,7 +10,7 @@ Echoe.new('appsendr', AppSendr::VERSION) do |p|
|
|
10
10
|
p.email = "nolanbrown@gmail.com"
|
11
11
|
p.ignore_pattern = ["tmp/*", "script/*"]
|
12
12
|
p.development_dependencies = []
|
13
|
-
p.runtime_dependencies = ["rest-client >=1.4.0", "rubyzip", "json_pure >=1.2.0"]
|
13
|
+
p.runtime_dependencies = ["rest-client >=1.4.0", "rubyzip", "json_pure >=1.2.0", "aws-s3"]
|
14
14
|
p.has_rdoc = true
|
15
15
|
|
16
16
|
end
|
data/appsendr.gemspec
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = %q{appsendr}
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.2"
|
6
6
|
|
7
7
|
s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
|
8
8
|
s.authors = ["AppSendr"]
|
9
|
-
s.date = %q{2010-
|
9
|
+
s.date = %q{2010-12-15}
|
10
10
|
s.default_executable = %q{appsendr}
|
11
11
|
s.description = %q{A gem that will build and distribute an iphone/ipad app to the web for remote install}
|
12
12
|
s.email = %q{nolanbrown@gmail.com}
|
13
13
|
s.executables = ["appsendr"]
|
14
|
-
s.extra_rdoc_files = ["README.rdoc", "bin/appsendr", "lib/appsendr.rb", "lib/appsendr/binary_plist.rb", "lib/appsendr/client.rb", "lib/appsendr/command.rb", "lib/appsendr/commands/app.rb", "lib/appsendr/commands/auth.rb", "lib/appsendr/commands/base.rb", "lib/appsendr/commands/build.rb", "lib/appsendr/commands/deploy.rb", "lib/appsendr/commands/help.rb", "lib/appsendr/commands/testers.rb", "lib/appsendr/commands/version.rb", "lib/appsendr/constants.rb", "lib/appsendr/helpers.rb"]
|
15
|
-
s.files = ["Manifest", "README.rdoc", "Rakefile", "appsendr.gemspec", "bin/appsendr", "lib/appsendr.rb", "lib/appsendr/binary_plist.rb", "lib/appsendr/client.rb", "lib/appsendr/command.rb", "lib/appsendr/commands/app.rb", "lib/appsendr/commands/auth.rb", "lib/appsendr/commands/base.rb", "lib/appsendr/commands/build.rb", "lib/appsendr/commands/deploy.rb", "lib/appsendr/commands/help.rb", "lib/appsendr/commands/testers.rb", "lib/appsendr/commands/version.rb", "lib/appsendr/constants.rb", "lib/appsendr/helpers.rb"]
|
14
|
+
s.extra_rdoc_files = ["README.rdoc", "bin/appsendr", "lib/appsendr.rb", "lib/appsendr/binary_plist.rb", "lib/appsendr/client.rb", "lib/appsendr/command.rb", "lib/appsendr/commands/app.rb", "lib/appsendr/commands/auth.rb", "lib/appsendr/commands/base.rb", "lib/appsendr/commands/build.rb", "lib/appsendr/commands/collaborators.rb", "lib/appsendr/commands/deploy.rb", "lib/appsendr/commands/help.rb", "lib/appsendr/commands/testers.rb", "lib/appsendr/commands/version.rb", "lib/appsendr/constants.rb", "lib/appsendr/helpers.rb"]
|
15
|
+
s.files = ["Manifest", "README.rdoc", "Rakefile", "appsendr.gemspec", "bin/appsendr", "lib/appsendr.rb", "lib/appsendr/binary_plist.rb", "lib/appsendr/client.rb", "lib/appsendr/command.rb", "lib/appsendr/commands/app.rb", "lib/appsendr/commands/auth.rb", "lib/appsendr/commands/base.rb", "lib/appsendr/commands/build.rb", "lib/appsendr/commands/collaborators.rb", "lib/appsendr/commands/deploy.rb", "lib/appsendr/commands/help.rb", "lib/appsendr/commands/testers.rb", "lib/appsendr/commands/version.rb", "lib/appsendr/constants.rb", "lib/appsendr/helpers.rb", "terms"]
|
16
16
|
s.homepage = %q{http://www.appsendr.com/gem}
|
17
17
|
s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Appsendr", "--main", "README.rdoc"]
|
18
18
|
s.require_paths = ["lib"]
|
@@ -28,14 +28,17 @@ Gem::Specification.new do |s|
|
|
28
28
|
s.add_runtime_dependency(%q<rest-client>, [">= 1.4.0"])
|
29
29
|
s.add_runtime_dependency(%q<rubyzip>, [">= 0"])
|
30
30
|
s.add_runtime_dependency(%q<json_pure>, [">= 1.2.0"])
|
31
|
+
s.add_runtime_dependency(%q<aws-s3>, [">= 0"])
|
31
32
|
else
|
32
33
|
s.add_dependency(%q<rest-client>, [">= 1.4.0"])
|
33
34
|
s.add_dependency(%q<rubyzip>, [">= 0"])
|
34
35
|
s.add_dependency(%q<json_pure>, [">= 1.2.0"])
|
36
|
+
s.add_dependency(%q<aws-s3>, [">= 0"])
|
35
37
|
end
|
36
38
|
else
|
37
39
|
s.add_dependency(%q<rest-client>, [">= 1.4.0"])
|
38
40
|
s.add_dependency(%q<rubyzip>, [">= 0"])
|
39
41
|
s.add_dependency(%q<json_pure>, [">= 1.2.0"])
|
42
|
+
s.add_dependency(%q<aws-s3>, [">= 0"])
|
40
43
|
end
|
41
44
|
end
|
@@ -3,29 +3,9 @@ require "nkf"
|
|
3
3
|
require "set"
|
4
4
|
require "stringio"
|
5
5
|
|
6
|
-
|
7
|
-
#
|
6
|
+
# Binary Plist implementation is from @schlueter
|
7
|
+
# https://github.com/schlueter/Ipa-Reader/blob/master/lib/ipa_reader/plist_binary.rb
|
8
8
|
#
|
9
|
-
# Copyright (c) 2010
|
10
|
-
#
|
11
|
-
# Permission is hereby granted, free of charge, to any person obtaining
|
12
|
-
# a copy of this software and associated documentation files (the
|
13
|
-
# 'Software'), to deal in the Software without restriction, including
|
14
|
-
# without limitation the rights to use, copy, modify, merge, publish,
|
15
|
-
# distribute, sublicense, and/or sell copies of the Software, and to
|
16
|
-
# permit persons to whom the Software is furnished to do so, subject to
|
17
|
-
# the following conditions:
|
18
|
-
#
|
19
|
-
# The above copyright notice and this permission notice shall be
|
20
|
-
# included in all copies or substantial portions of the Software.
|
21
|
-
#
|
22
|
-
# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
23
|
-
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
24
|
-
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
25
|
-
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
26
|
-
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
27
|
-
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
28
|
-
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
29
9
|
|
30
10
|
module AppSendr
|
31
11
|
module Plist
|
data/lib/appsendr/client.rb
CHANGED
@@ -4,9 +4,8 @@ require 'uri'
|
|
4
4
|
require 'time'
|
5
5
|
require 'appsendr/constants'
|
6
6
|
require 'json/pure' unless {}.respond_to?(:to_json)
|
7
|
-
|
8
|
-
# A Ruby class to call the
|
9
|
-
# manage your Heroku apps from within a Ruby program, such as Capistrano.
|
7
|
+
require 'aws/s3'
|
8
|
+
# A Ruby class to call the AppSendr REST API.
|
10
9
|
#
|
11
10
|
# Example:
|
12
11
|
#
|
@@ -14,6 +13,7 @@ require 'json/pure' unless {}.respond_to?(:to_json)
|
|
14
13
|
# droppr = AppSendr::Client.new('me@example.com', 'mypass')
|
15
14
|
# droppr.create('myapp')
|
16
15
|
#
|
16
|
+
|
17
17
|
class AppSendr::Client
|
18
18
|
def self.version
|
19
19
|
AppSendr::VERSION
|
@@ -53,6 +53,10 @@ class AppSendr::Client
|
|
53
53
|
post('/api/app/link',{:id=>id});
|
54
54
|
end
|
55
55
|
|
56
|
+
def install_url(app_id)
|
57
|
+
JSON.parse(get('/api/app/last_install_url/'+app_id.to_s))
|
58
|
+
end
|
59
|
+
|
56
60
|
def create(name)
|
57
61
|
JSON.parse(post('/api/app/create', {:name=>name}))
|
58
62
|
end
|
@@ -69,6 +73,32 @@ class AppSendr::Client
|
|
69
73
|
delete('/api/app/clear_testers/'+app_id.to_s,{});
|
70
74
|
end
|
71
75
|
|
76
|
+
def add_group(app_id,name)
|
77
|
+
post('/api/app/add_group/'+app_id.to_s,{:name=>name});
|
78
|
+
end
|
79
|
+
|
80
|
+
def remove_group(app_id, name)
|
81
|
+
post('/api/app/remove_group/'+app_id.to_s,{:name=>name});
|
82
|
+
end
|
83
|
+
|
84
|
+
def groups(app_id)
|
85
|
+
JSON.parse(get('/api/app/groups/'+app_id.to_s))
|
86
|
+
end
|
87
|
+
|
88
|
+
### add_collaborator
|
89
|
+
|
90
|
+
def add_collaborator(app_id,emaill)
|
91
|
+
post('/api/app/add_collaborator/'+app_id.to_s,{:email=>email});
|
92
|
+
end
|
93
|
+
|
94
|
+
def remove_collaborator(app_id,email)
|
95
|
+
post('/api/app/remove_collaborator/'+app_id.to_s,{:email=>email});
|
96
|
+
end
|
97
|
+
|
98
|
+
def collaborators(app_id)
|
99
|
+
JSON.parse(get('/api/app/collaborators/'+app_id.to_s))
|
100
|
+
end
|
101
|
+
|
72
102
|
def testers(app_id)
|
73
103
|
JSON.parse(get('/api/app/testers/'+app_id.to_s))
|
74
104
|
end
|
@@ -76,22 +106,51 @@ class AppSendr::Client
|
|
76
106
|
JSON.parse(get('/api/app/notify/'+app_id.to_s))
|
77
107
|
end
|
78
108
|
|
79
|
-
def upload(app_id, ipa,provisioning, notes, bundle_id, icon)
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
109
|
+
def upload(app_id, ipa,provisioning,notify, notes, bundle_id, icon)
|
110
|
+
params = {
|
111
|
+
:profile => File.new(provisioning, 'rb'),
|
112
|
+
:notes=>notes,
|
113
|
+
:bundle_identifier => bundle_id,
|
114
|
+
:built_at=>Time.now,
|
115
|
+
:notify=>notify
|
116
|
+
# :ipa=>
|
117
|
+
}
|
118
|
+
if icon
|
119
|
+
params[:icon] = File.new(icon,'rb')
|
120
|
+
end
|
121
|
+
if(is_file_to_large?(ipa))
|
122
|
+
puts "IPA is too large to upload."
|
123
|
+
else
|
124
|
+
params[:ipa] = File.new(ipa, 'rb')
|
125
|
+
|
126
|
+
post('/api/app/upload/'+app_id.to_s, params)
|
127
|
+
end
|
91
128
|
end
|
92
129
|
|
93
130
|
protected
|
94
|
-
|
131
|
+
def is_file_to_large?(file)
|
132
|
+
in_mb = size_of_file(file).to_f
|
133
|
+
if in_mb > 10
|
134
|
+
return true
|
135
|
+
else
|
136
|
+
return false
|
137
|
+
end
|
138
|
+
|
139
|
+
end
|
140
|
+
|
141
|
+
def size_of_file(file)
|
142
|
+
size = File.size(file)
|
143
|
+
mb = 1024.0 * 1024.0
|
144
|
+
in_mb = size / mb
|
145
|
+
|
146
|
+
end
|
147
|
+
|
148
|
+
|
149
|
+
def upload_to_s3_directly
|
150
|
+
@s3_url = "http://appsendr.s3.amazonaws.com/"
|
151
|
+
|
152
|
+
end
|
153
|
+
|
95
154
|
def api_params(params={})
|
96
155
|
params[:api_key] ||= @api_key
|
97
156
|
|
@@ -1,5 +1,4 @@
|
|
1
1
|
require 'readline'
|
2
|
-
#require 'launchy'
|
3
2
|
|
4
3
|
module AppSendr::Command
|
5
4
|
class App < Base
|
@@ -36,6 +35,28 @@ module AppSendr::Command
|
|
36
35
|
end
|
37
36
|
end
|
38
37
|
|
38
|
+
def url
|
39
|
+
if in_project_dir?
|
40
|
+
|
41
|
+
resp = appsendr.install_url(get_app_id)
|
42
|
+
if resp["message"].size > 0
|
43
|
+
display "=== Your last install url is:"
|
44
|
+
url = resp["message"]["install_url"]
|
45
|
+
display url
|
46
|
+
do_copy = option_exists?('--copy', false)
|
47
|
+
if do_copy
|
48
|
+
display "Copied URL"
|
49
|
+
IO.popen('pbcopy', 'w') { |clipboard| clipboard.write url }
|
50
|
+
end
|
51
|
+
else
|
52
|
+
display "No versions available"
|
53
|
+
end
|
54
|
+
else
|
55
|
+
error("You are not in a project directory")
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
|
39
60
|
def link
|
40
61
|
if in_project_dir?
|
41
62
|
error "This app is already linked to an appsendr." unless !has_project_droppr?
|
@@ -50,7 +71,7 @@ module AppSendr::Command
|
|
50
71
|
display "Your app has been linked."
|
51
72
|
|
52
73
|
else
|
53
|
-
error("You are not in a project")
|
74
|
+
error("You are not in a project directory")
|
54
75
|
end
|
55
76
|
end
|
56
77
|
|
@@ -77,6 +98,24 @@ module AppSendr::Command
|
|
77
98
|
end
|
78
99
|
end
|
79
100
|
|
101
|
+
def groups
|
102
|
+
if in_project_dir?
|
103
|
+
|
104
|
+
groups = appsendr.groups(get_app_id)
|
105
|
+
if groups["message"].size > 0
|
106
|
+
display "=== Your groups"
|
107
|
+
i = 0
|
108
|
+
display groups["message"].map {|app, id|
|
109
|
+
"#{i+=1}. #{app['tester_group']['name'].ljust(35)}"
|
110
|
+
}.join("\n")
|
111
|
+
else
|
112
|
+
display "You have no groups."
|
113
|
+
end
|
114
|
+
else
|
115
|
+
error("You are not in a project directory")
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
80
119
|
# def info
|
81
120
|
# name = (args.first && !args.first =~ /^\-\-/) ? args.first : extract_app
|
82
121
|
# attrs = appsendr.info(name)
|
@@ -1,5 +1,12 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
|
3
|
+
class String
|
4
|
+
def cl_escape
|
5
|
+
self.gsub('&','\\\\&').gsub(" ","\\ ")
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
|
3
10
|
module AppSendr::Command
|
4
11
|
class Base
|
5
12
|
include AppSendr::Helpers
|
@@ -41,6 +48,13 @@ module AppSendr::Command
|
|
41
48
|
app
|
42
49
|
end
|
43
50
|
|
51
|
+
def option_exists?(options, default=true)
|
52
|
+
values = options.is_a?(Array) ? options : [options]
|
53
|
+
return false unless opt_index = args.select { |a| values.include? a }.first
|
54
|
+
return true
|
55
|
+
end
|
56
|
+
|
57
|
+
|
44
58
|
def extract_option(options, default=true)
|
45
59
|
values = options.is_a?(Array) ? options : [options]
|
46
60
|
return unless opt_index = args.select { |a| values.include? a }.first
|
@@ -55,8 +55,9 @@ module AppSendr::Command
|
|
55
55
|
|
56
56
|
FileUtils.rm_rf payload_path
|
57
57
|
Dir.mkdir(payload_path)
|
58
|
-
|
59
|
-
|
58
|
+
#display "#{@app_path.cl_escape} #{payload_path.cl_escape}/#{app_name.cl_escape}"
|
59
|
+
`cp -r #{@app_path.cl_escape} #{payload_path.cl_escape+"/"+app_name.cl_escape}`
|
60
|
+
build_ipa(payload_path.cl_escape,ipa_path.cl_escape)
|
60
61
|
|
61
62
|
FileUtils.rm_rf payload_path
|
62
63
|
|
@@ -0,0 +1,24 @@
|
|
1
|
+
module AppSendr::Command
|
2
|
+
class Deploy < Build ## Inherhits from Deploy
|
3
|
+
|
4
|
+
def index
|
5
|
+
if in_project_dir?
|
6
|
+
unless has_project_droppr?
|
7
|
+
require_project_droppr
|
8
|
+
return
|
9
|
+
end
|
10
|
+
|
11
|
+
testers = appsendr.collaborators(read_app_id)
|
12
|
+
if testers["message"].size > 0
|
13
|
+
display "=== Your collaborators"
|
14
|
+
i = 0
|
15
|
+
display testers["message"].map {|app, id|
|
16
|
+
"#{i+=1}. #{app['app_user']['name']} - #{app['app_user']['email']}"
|
17
|
+
}.join("\n")
|
18
|
+
else
|
19
|
+
display "You have no collaborators."
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -11,6 +11,7 @@ module AppSendr::Command
|
|
11
11
|
# opts.parse!(args) rescue return false
|
12
12
|
#
|
13
13
|
#
|
14
|
+
|
14
15
|
@configuration = load_configuration
|
15
16
|
if require_project(1,"deploy","your active configuration name",true)
|
16
17
|
@app_dir = path_to_app_dir
|
@@ -22,7 +23,8 @@ module AppSendr::Command
|
|
22
23
|
info = app_info
|
23
24
|
bundle_identifier ||= info['CFBundleIdentifier']
|
24
25
|
icon_path = icon_path(info)
|
25
|
-
|
26
|
+
notify = option_exists?('--notify', false)
|
27
|
+
appsendr.upload(read_app_id,@ipa_path, profile_path,notify,@notes,bundle_identifier,icon_path)
|
26
28
|
FileUtils.rm_rf @ipa_path
|
27
29
|
else
|
28
30
|
error "No .app file was built for the configuration \"#{@configuration}\". Compile your app or use the \"build\" command."
|
@@ -37,17 +37,24 @@ module AppSendr::Command
|
|
37
37
|
group.command 'link', 'link your app with an exsiting one in appsendr'
|
38
38
|
group.command 'create <name>', 'create a new app'
|
39
39
|
group.space
|
40
|
+
group.command 'url', 'get the latest version install url. pass --copy to copy to the clipboard'
|
41
|
+
group.space
|
40
42
|
group.command 'build <active configuration>', 'build your xcode project and deploy'
|
41
43
|
group.command 'build:clean', 'clean your xcode project'
|
42
44
|
group.space
|
43
|
-
group.command 'deploy <active configuration>', 'deploy the current build'
|
45
|
+
group.command 'deploy <active configuration>', 'deploy the current build. pass --notify to send notification to all testers'
|
44
46
|
group.space
|
45
47
|
group.command 'testers', 'list testers'
|
46
48
|
group.command 'testers:add <email> <name>', 'add a tester'
|
47
49
|
group.command 'testers:remove <email> ', 'remove a tester'
|
48
50
|
group.command 'testers:clear', 'remove all testers'
|
49
|
-
group.command 'testers:notify', 'notify testers about the latest build'
|
50
|
-
|
51
|
+
group.command 'testers:notify <group>', 'notify testers about the latest build. group is optional.'
|
52
|
+
group.space
|
53
|
+
group.command 'groups', 'list groups'
|
54
|
+
group.space
|
55
|
+
group.command 'collaborators', 'list collaborators'
|
56
|
+
group.command 'collaborators:add <email>', 'add collaborators'
|
57
|
+
group.command 'collaborators:remove <email>','add collaborators'
|
51
58
|
end
|
52
59
|
|
53
60
|
end
|
data/lib/appsendr/constants.rb
CHANGED
data/lib/appsendr.rb
CHANGED
@@ -1,3 +1,27 @@
|
|
1
1
|
module AppSendr; end
|
2
2
|
|
3
3
|
require 'appsendr/client'
|
4
|
+
|
5
|
+
# (The MIT License)
|
6
|
+
#
|
7
|
+
# Copyright (c) 2010
|
8
|
+
#
|
9
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
10
|
+
# a copy of this software and associated documentation files (the
|
11
|
+
# 'Software'), to deal in the Software without restriction, including
|
12
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
13
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
14
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
15
|
+
# the following conditions:
|
16
|
+
#
|
17
|
+
# The above copyright notice and this permission notice shall be
|
18
|
+
# included in all copies or substantial portions of the Software.
|
19
|
+
#
|
20
|
+
# THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
21
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
22
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
23
|
+
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
24
|
+
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
25
|
+
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
26
|
+
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
27
|
+
|
data/terms
ADDED
File without changes
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appsendr
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 2
|
10
|
+
version: 0.0.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- AppSendr
|
@@ -15,8 +15,8 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-
|
19
|
-
default_executable:
|
18
|
+
date: 2010-12-15 00:00:00 -08:00
|
19
|
+
default_executable: appsendr
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
22
22
|
name: rest-client
|
@@ -64,6 +64,20 @@ dependencies:
|
|
64
64
|
version: 1.2.0
|
65
65
|
type: :runtime
|
66
66
|
version_requirements: *id003
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: aws-s3
|
69
|
+
prerelease: false
|
70
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
71
|
+
none: false
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
hash: 3
|
76
|
+
segments:
|
77
|
+
- 0
|
78
|
+
version: "0"
|
79
|
+
type: :runtime
|
80
|
+
version_requirements: *id004
|
67
81
|
description: A gem that will build and distribute an iphone/ipad app to the web for remote install
|
68
82
|
email: nolanbrown@gmail.com
|
69
83
|
executables:
|
@@ -81,6 +95,7 @@ extra_rdoc_files:
|
|
81
95
|
- lib/appsendr/commands/auth.rb
|
82
96
|
- lib/appsendr/commands/base.rb
|
83
97
|
- lib/appsendr/commands/build.rb
|
98
|
+
- lib/appsendr/commands/collaborators.rb
|
84
99
|
- lib/appsendr/commands/deploy.rb
|
85
100
|
- lib/appsendr/commands/help.rb
|
86
101
|
- lib/appsendr/commands/testers.rb
|
@@ -101,12 +116,14 @@ files:
|
|
101
116
|
- lib/appsendr/commands/auth.rb
|
102
117
|
- lib/appsendr/commands/base.rb
|
103
118
|
- lib/appsendr/commands/build.rb
|
119
|
+
- lib/appsendr/commands/collaborators.rb
|
104
120
|
- lib/appsendr/commands/deploy.rb
|
105
121
|
- lib/appsendr/commands/help.rb
|
106
122
|
- lib/appsendr/commands/testers.rb
|
107
123
|
- lib/appsendr/commands/version.rb
|
108
124
|
- lib/appsendr/constants.rb
|
109
125
|
- lib/appsendr/helpers.rb
|
126
|
+
- terms
|
110
127
|
has_rdoc: true
|
111
128
|
homepage: http://www.appsendr.com/gem
|
112
129
|
licenses: []
|