jiveapps 0.0.6 → 0.0.7

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/.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