jiveapps 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ pkg/*
2
+ *.gem
3
+ .bundle
4
+
data/Gemfile CHANGED
@@ -1,10 +1,2 @@
1
1
  source 'http://rubygems.org'
2
-
3
- group :test do
4
- gem 'rspec', '>= 2.2.0'
5
- gem 'webmock', '>= 1.6.1'
6
- end
7
-
8
- gem 'activesupport', '2.3.5'
9
- gem 'rest-client', '1.6.1'
10
- gem 'rubigen', '1.5.5'
2
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,42 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ jiveapps (0.0.7)
5
+ activesupport (= 2.3.5)
6
+ rest-client (= 1.6.1)
7
+ rubigen (= 1.5.5)
8
+
9
+ GEM
10
+ remote: http://rubygems.org/
11
+ specs:
12
+ activesupport (2.3.5)
13
+ addressable (2.2.2)
14
+ crack (0.1.8)
15
+ diff-lcs (1.1.2)
16
+ mime-types (1.16)
17
+ rest-client (1.6.1)
18
+ mime-types (>= 1.16)
19
+ rspec (2.2.0)
20
+ rspec-core (~> 2.2)
21
+ rspec-expectations (~> 2.2)
22
+ rspec-mocks (~> 2.2)
23
+ rspec-core (2.2.1)
24
+ rspec-expectations (2.2.0)
25
+ diff-lcs (~> 1.1.2)
26
+ rspec-mocks (2.2.0)
27
+ rubigen (1.5.5)
28
+ activesupport (~> 2.3.5)
29
+ webmock (1.6.1)
30
+ addressable (>= 2.2.2)
31
+ crack (>= 0.1.7)
32
+
33
+ PLATFORMS
34
+ ruby
35
+
36
+ DEPENDENCIES
37
+ activesupport (= 2.3.5)
38
+ jiveapps!
39
+ rest-client (= 1.6.1)
40
+ rspec (>= 2.2.0)
41
+ rubigen (= 1.5.5)
42
+ webmock (>= 1.6.1)
data/History.txt CHANGED
@@ -1,3 +1,9 @@
1
+ === 0.0.7 2011-01-07
2
+ * Bug fixes
3
+ * If Git push fails, delete app and clean up.
4
+ * Sync SSH key whenever creating a new app to avoid Git push failures.
5
+ * Require "fileutils" for older versions of ruby 1.8.6 that do not load it by default
6
+
1
7
  === 0.0.6 2010-12-17
2
8
  * Bug Fixes
3
9
  * Fix NoMethodError on Step 4 of jiveapps create. (remove the json_pure gem and use the JSON encoding/decoding functionality already in activesupport)
data/README.rdoc CHANGED
@@ -6,33 +6,33 @@
6
6
 
7
7
  The "jiveapps" gem is a set of command line tools for building and hosting Jive App front-ends.
8
8
 
9
- These tools are all about making app development as easy as possible. After you install the tools, it only takes a single command to:
10
-
11
- Create a new app - a simple Hello World application.
12
- Set up version control for your code using Git.
13
- Host the app code online at Jive's AppHosting server.
14
- Register the app on the Jive Apps Marketplace as an app "in development".
15
- Install the app on your default app dashboard in the Jive Apps Sandbox.
16
-
9
+ These tools are all about making Jive App development as easy as possible. After you install the tools, it only takes a single command to:
10
+
11
+ 1. Create a new app - a simple Hello World application.
12
+ 2. Set up version control for your code using Git.
13
+ 3. Host the app code online at Jive's AppHosting server.
14
+ 4. Register the app on the Jive Apps Marketplace as an app "in development".
15
+ 5. Install the app on your default app dashboard in the Jive Apps Sandbox.
16
+
17
17
  After you install, use this simple workflow to make changes and see them reflected in the sandbox:
18
-
19
- Make a change to the code on your local machine.
20
- Commit the changes to your local Git repository.
21
- Push the changes to the remote Jive Apps repository. This automatically updates the hosted copy on the Jive AppHosting server.
22
- Refresh the app dashboard or canvas page on the Jive Apps Sandbox and see your changes.
18
+
19
+ 1. Make a change to the code on your local machine.
20
+ 2. Commit the changes to your local Git repository.
21
+ 3. Push the changes to the remote Jive Apps repository. This automatically updates the hosted copy on the Jive AppHosting server.
22
+ 4. Refresh the app dashboard or canvas page on the Jive Apps Sandbox and see your changes.
23
23
 
24
24
  == SYNOPSIS:
25
25
 
26
26
  Simple Workflow Example
27
27
 
28
- $ jiveapps create myapp # create a new app named "myapp"
29
- $ cd myapp # switch into app's directory
28
+ $ jiveapps create myapp # create a new app named "myapp"
29
+ $ cd myapp # switch into app's directory
30
30
 
31
- ... develop your app ...
31
+ ... develop your app ...
32
32
 
33
- $ git add . # stage all files for commit
34
- $ git commit -m "some updates to my app" # commit to your local git repository
35
- $ git push jiveapps master # push updates to jive
33
+ $ git add . # stage all files for commit
34
+ $ git commit -m "some updates to my app" # commit to your local git repository
35
+ $ git push jiveapps master # push updates to jive
36
36
 
37
37
  == REQUIREMENTS:
38
38
 
@@ -41,29 +41,22 @@ $ git push jiveapps master # push updates to jive
41
41
 
42
42
  == INSTALL:
43
43
 
44
- sudo gem install jiveapps
44
+ Before you can install the gem you must have Ruby and Git installed. Follow the full instructions for getting all pre-requisites installed here: https://developers.jivesoftware.com/community/docs/DOC-1115
45
45
 
46
- == LICENSE:
46
+ Once Ruby and Git have been installed, you may install the gem by running this command:
47
47
 
48
- (The MIT License)
48
+ $ sudo gem install jiveapps
49
49
 
50
- Copyright (c) 2010 FIXME full name
50
+ == LICENSE:
51
51
 
52
- Permission is hereby granted, free of charge, to any person obtaining
53
- a copy of this software and associated documentation files (the
54
- 'Software'), to deal in the Software without restriction, including
55
- without limitation the rights to use, copy, modify, merge, publish,
56
- distribute, sublicense, and/or sell copies of the Software, and to
57
- permit persons to whom the Software is furnished to do so, subject to
58
- the following conditions:
52
+ Licensed under the Apache License, Version 2.0 (the "License");
53
+ you may not use this file except in compliance with the License.
54
+ You may obtain a copy of the License at
59
55
 
60
- The above copyright notice and this permission notice shall be
61
- included in all copies or substantial portions of the Software.
56
+ http://www.apache.org/licenses/LICENSE-2.0
62
57
 
63
- THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
64
- EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
65
- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
66
- IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
67
- CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
68
- TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
69
- SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
58
+ Unless required by applicable law or agreed to in writing, software
59
+ distributed under the License is distributed on an "AS IS" BASIS,
60
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
61
+ See the License for the specific language governing permissions and
62
+ limitations under the License.
data/Rakefile CHANGED
@@ -1,37 +1,5 @@
1
- $LOAD_PATH << './lib'
2
-
3
- require 'rubygems'
4
- gem 'hoe', '>= 2.1.0'
5
- require 'hoe'
6
- require 'fileutils'
7
- require 'jiveapps'
8
-
9
- Hoe.plugin :newgem
10
- # Hoe.plugin :website
11
- # Hoe.plugin :cucumberfeatures
12
-
13
- # Generate all the Rake tasks
14
- # Run 'rake -T' to see list of generated tasks (from gem root directory)
15
- $hoe = Hoe.spec 'jiveapps' do
16
- self.developer 'Scott Becker', 'becker.scott@gmail.com'
17
- self.version = "0.0.6"
18
- self.rubyforge_name = self.name # TODO this is default value
19
- self.extra_rdoc_files << 'README.rdoc'
20
- self.extra_deps = [
21
- ['activesupport', '2.3.5'],
22
- ['rest-client', '1.6.1'],
23
- ['rubigen', '1.5.5']
24
- ]
25
- end
26
-
27
- require 'newgem/tasks'
28
- Dir['tasks/**/*.rake'].each { |t| load t }
29
-
30
- # TODO - want other tests/tasks run by default? Add them to the list
31
- # remove_task :default
32
- # task :default => [:spec, :features]
33
-
34
- ################
1
+ require 'bundler'
2
+ Bundler::GemHelper.install_tasks
35
3
 
36
4
  require 'rake'
37
5
  require 'rspec'
data/jiveapps.gemspec ADDED
@@ -0,0 +1,41 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "jiveapps/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "jiveapps"
7
+ s.version = Jiveapps::VERSION
8
+ s.platform = Gem::Platform::RUBY
9
+ s.authors = ["Scott Becker"]
10
+ s.email = ["becker.scott@gmail.com"]
11
+ s.homepage = "https://github.com/jivesoftware/jiveapps-gem"
12
+ s.summary = %q{The "jiveapps" gem is a set of command line tools for building and hosting Jive App front-ends.}
13
+ s.description = %q{These tools are all about making Jive App development as easy as possible. After you install the tools, it only takes a single command to:
14
+
15
+ 1. Create a new app - a simple Hello World application.
16
+ 2. Set up version control for your code using Git.
17
+ 3. Host the app code online at Jive's AppHosting server.
18
+ 4. Register the app on the Jive Apps Marketplace as an app "in development".
19
+ 5. Install the app on your default app dashboard in the Jive Apps Sandbox.
20
+
21
+ After you install, use this simple workflow to make changes and see them reflected in the sandbox:
22
+
23
+ 1. Make a change to the code on your local machine.
24
+ 2. Commit the changes to your local Git repository.
25
+ 3. Push the changes to the remote Jive Apps repository. This automatically updates the hosted copy on the Jive AppHosting server.
26
+ 4. Refresh the app dashboard or canvas page on the Jive Apps Sandbox and see your changes.}
27
+
28
+ # s.rubyforge_project = "jiveapps"
29
+
30
+ s.add_dependency 'activesupport', '2.3.5'
31
+ s.add_dependency 'rest-client', '1.6.1'
32
+ s.add_dependency 'rubigen', '1.5.5'
33
+
34
+ s.add_development_dependency 'rspec', '>= 2.2.0'
35
+ s.add_development_dependency 'webmock', '>= 1.6.1'
36
+
37
+ s.files = `git ls-files`.split("\n")
38
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
39
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
40
+ s.require_paths = ["lib"]
41
+ end
data/lib/jiveapps.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  module Jiveapps
2
- VERSION = '0.0.6'
3
2
  WEBHOST = 'https://apphosting.jivesoftware.com'
4
3
  MODE = 'production'
5
4
  end
6
5
 
6
+ require 'jiveapps/version'
7
7
  require 'jiveapps/client'
@@ -59,6 +59,10 @@ class Jiveapps::Client
59
59
  post_app("/apps", {:app => {:name => name}})
60
60
  end
61
61
 
62
+ def delete_app(name)
63
+ delete("/apps/#{escape(name)}").to_s
64
+ end
65
+
62
66
  def register(name)
63
67
  post_app("/apps/#{escape(name)}/register", {})
64
68
  end
@@ -42,6 +42,7 @@ module Jiveapps::Command
42
42
  debug "Running in debug mode."
43
43
  app_list = Jiveapps::Command.run_internal('auth:check', []) # check auth credentials and ssh key before generating app
44
44
  return unless app_list.class == Array
45
+ Jiveapps::Command.run_internal('keys:add', [])
45
46
  display "Creating new Jive App \"#{app_name}\"..."
46
47
  create_remote_app
47
48
  generate_app
@@ -109,6 +110,12 @@ module Jiveapps::Command
109
110
  display "SUCCESS"
110
111
  else
111
112
  display "FAILURE"
113
+ display "Git Push failed. Deleting app and cleaning up. Check SSH key and try again:\n\n" +
114
+ "$ jiveapps keys:list\n" +
115
+ "$ jiveapps keys:remove <user@machine>\n" +
116
+ "$ jiveapps keys:add\n" +
117
+ "$ jiveapps create #{app_name}"
118
+ delete_app
112
119
  end
113
120
  end
114
121
 
@@ -120,6 +127,12 @@ module Jiveapps::Command
120
127
  handle_response_errors
121
128
  end
122
129
 
130
+ def delete_app
131
+ run("rm -rf #{app_name}")
132
+ jiveapps.delete_app(app_name)
133
+ @current_app = nil # halt further actions
134
+ end
135
+
123
136
  def create_notify_user
124
137
  return unless current_app
125
138
  debug "Notifying user."
@@ -1,3 +1,5 @@
1
+ require 'fileutils'
2
+
1
3
  module Jiveapps::Command
2
4
  class Auth < Base
3
5
  attr_accessor :credentials
@@ -0,0 +1,3 @@
1
+ module Jiveapps
2
+ VERSION = '0.0.7'
3
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jiveapps
3
3
  version: !ruby/object:Gem::Version
4
- hash: 19
4
+ hash: 17
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 6
10
- version: 0.0.6
9
+ - 7
10
+ version: 0.0.7
11
11
  platform: ruby
12
12
  authors:
13
13
  - Scott Becker
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-12-17 00:00:00 -08:00
18
+ date: 2011-01-07 00:00:00 -08:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -67,52 +67,65 @@ dependencies:
67
67
  type: :runtime
68
68
  version_requirements: *id003
69
69
  - !ruby/object:Gem::Dependency
70
- name: hoe
70
+ name: rspec
71
71
  prerelease: false
72
72
  requirement: &id004 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ">="
76
76
  - !ruby/object:Gem::Version
77
- hash: 47
77
+ hash: 7
78
78
  segments:
79
79
  - 2
80
- - 8
80
+ - 2
81
81
  - 0
82
- version: 2.8.0
82
+ version: 2.2.0
83
83
  type: :development
84
84
  version_requirements: *id004
85
+ - !ruby/object:Gem::Dependency
86
+ name: webmock
87
+ prerelease: false
88
+ requirement: &id005 !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ">="
92
+ - !ruby/object:Gem::Version
93
+ hash: 13
94
+ segments:
95
+ - 1
96
+ - 6
97
+ - 1
98
+ version: 1.6.1
99
+ type: :development
100
+ version_requirements: *id005
85
101
  description: |-
86
- The "jiveapps" gem is a set of command line tools for building and hosting Jive App front-ends.
102
+ These tools are all about making Jive App development as easy as possible. After you install the tools, it only takes a single command to:
103
+
104
+ 1. Create a new app - a simple Hello World application.
105
+ 2. Set up version control for your code using Git.
106
+ 3. Host the app code online at Jive's AppHosting server.
107
+ 4. Register the app on the Jive Apps Marketplace as an app "in development".
108
+ 5. Install the app on your default app dashboard in the Jive Apps Sandbox.
87
109
 
88
- These tools are all about making app development as easy as possible. After you install the tools, it only takes a single command to:
89
-
90
- Create a new app - a simple Hello World application.
91
- Set up version control for your code using Git.
92
- Host the app code online at Jive's AppHosting server.
93
- Register the app on the Jive Apps Marketplace as an app "in development".
94
- Install the app on your default app dashboard in the Jive Apps Sandbox.
95
-
96
110
  After you install, use this simple workflow to make changes and see them reflected in the sandbox:
97
-
98
- Make a change to the code on your local machine.
99
- Commit the changes to your local Git repository.
100
- Push the changes to the remote Jive Apps repository. This automatically updates the hosted copy on the Jive AppHosting server.
101
- Refresh the app dashboard or canvas page on the Jive Apps Sandbox and see your changes.
111
+
112
+ 1. Make a change to the code on your local machine.
113
+ 2. Commit the changes to your local Git repository.
114
+ 3. Push the changes to the remote Jive Apps repository. This automatically updates the hosted copy on the Jive AppHosting server.
115
+ 4. Refresh the app dashboard or canvas page on the Jive Apps Sandbox and see your changes.
102
116
  email:
103
117
  - becker.scott@gmail.com
104
118
  executables:
105
119
  - jiveapps
106
120
  extensions: []
107
121
 
108
- extra_rdoc_files:
109
- - History.txt
110
- - Manifest.txt
111
- - PostInstall.txt
112
- - README.rdoc
122
+ extra_rdoc_files: []
123
+
113
124
  files:
125
+ - .gitignore
114
126
  - .rspec
115
127
  - Gemfile
128
+ - Gemfile.lock
116
129
  - History.txt
117
130
  - Manifest.txt
118
131
  - PostInstall.txt
@@ -129,6 +142,7 @@ files:
129
142
  - app_generators/create/templates/stylesheets/main.css
130
143
  - autotest/discover.rb
131
144
  - bin/jiveapps
145
+ - jiveapps.gemspec
132
146
  - lib/jiveapps.rb
133
147
  - lib/jiveapps/client.rb
134
148
  - lib/jiveapps/command.rb
@@ -138,6 +152,7 @@ files:
138
152
  - lib/jiveapps/commands/help.rb
139
153
  - lib/jiveapps/commands/keys.rb
140
154
  - lib/jiveapps/helpers.rb
155
+ - lib/jiveapps/version.rb
141
156
  - spec/client_spec.rb
142
157
  - spec/commands/app_spec.rb
143
158
  - spec/commands/keys_spec.rb
@@ -147,9 +162,8 @@ homepage: https://github.com/jivesoftware/jiveapps-gem
147
162
  licenses: []
148
163
 
149
164
  post_install_message:
150
- rdoc_options:
151
- - --main
152
- - README.rdoc
165
+ rdoc_options: []
166
+
153
167
  require_paths:
154
168
  - lib
155
169
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -172,10 +186,13 @@ required_rubygems_version: !ruby/object:Gem::Requirement
172
186
  version: "0"
173
187
  requirements: []
174
188
 
175
- rubyforge_project: jiveapps
189
+ rubyforge_project:
176
190
  rubygems_version: 1.3.7
177
191
  signing_key:
178
192
  specification_version: 3
179
- summary: The "jiveapps" gem is a set of command line tools for building and hosting Jive App front-ends
180
- test_files: []
181
-
193
+ summary: The "jiveapps" gem is a set of command line tools for building and hosting Jive App front-ends.
194
+ test_files:
195
+ - spec/client_spec.rb
196
+ - spec/commands/app_spec.rb
197
+ - spec/commands/keys_spec.rb
198
+ - spec/spec_helper.rb