kalipso 0.1.5 → 0.1.6

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/CHANGELOG CHANGED
@@ -1,3 +1,4 @@
1
1
  Wed, Jan 26, 2011
2
2
  - - - - - - - - -
3
+ - Add PK generation
3
4
  - Teeny bugfixes about paths
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.5
1
+ 0.1.6
data/kalipso.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{kalipso}
8
- s.version = "0.1.5"
8
+ s.version = "0.1.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Paul Campbell"]
@@ -30,6 +30,7 @@ Gem::Specification.new do |s|
30
30
  "kalipso.gemspec",
31
31
  "lib/kalipso.rb",
32
32
  "lib/kalipso/cli.rb",
33
+ "lib/kalipso/public_key.rb",
33
34
  "lib/kalipso/site.rb"
34
35
  ]
35
36
  s.homepage = %q{http://github.com/paulca/kalipso}
data/lib/kalipso.rb CHANGED
@@ -13,6 +13,7 @@ require 'pathname'
13
13
 
14
14
  # models
15
15
  require 'kalipso/site'
16
+ require 'kalipso/public_key'
16
17
 
17
18
  # app
18
19
  Dir[File.expand_path('app/*/*.rb', __FILE__)].each do |file|
@@ -35,4 +36,14 @@ else
35
36
  end
36
37
  end
37
38
 
38
- Jaysus::Remote.base_url = "http://#{token}:x@oncalypso.com/api/v1"
39
+ Jaysus::Remote.base_url = "http://#{token}:x@oncalypso.com/api/v1"
40
+
41
+ if !Jaysus::Local.store_dir.join('keys').exist?
42
+ key_dir = Jaysus::Local.store_dir.join('keys')
43
+ key_dir.mkpath unless key_dir.exist?
44
+ key_path = key_dir.join('id_rsa')
45
+ public_key_path = key_dir.join('id_rsa.pub')
46
+ puts "generating and uploading public key"
47
+ `ssh-keygen -N '' -t rsa -q -f #{key_path.to_s.strip}`
48
+ Kalipso::PublicKey::Remote.create(:key => public_key_path.read)
49
+ end
data/lib/kalipso/cli.rb CHANGED
@@ -67,6 +67,23 @@ module Kalipso
67
67
  end
68
68
  end
69
69
 
70
+ desc "fetch", "download a site and link to to a directory"
71
+ def fetch(name)
72
+ site = Site::Remote.find_by_name(name)
73
+ if site.present?
74
+ puts "fetching #{site.name}"
75
+ local_site = Site::Local.find_or_create_by_id(site.id)
76
+ path = File.expand_path("~/Sites/oncalypso/#{name}")
77
+ pathname = Pathname.new(path)
78
+ pathname.mkpath unless pathname.exist?
79
+ local_site.update_attributes(site.attributes.merge(:path => path))
80
+ `rsync -arvH -e "ssh -i #{Jaysus::Local.store_dir.join('keys', 'id_rsa')}" sites@diddlydum.com:/home/sites/#{site.name}/ #{path.gsub(/\/+$/, '')}/`
81
+ puts "Site #{name} downloaded to #{path.gsub(/\/+$/, '')}"
82
+ else
83
+ "Site #{name} not found. Maybe try 'kalipso sync'"
84
+ end
85
+ end
86
+
70
87
  desc "upload", "upload a path, eg. kalipso upload SITENAME PATH"
71
88
  def upload(name = nil)
72
89
  if name.present?
@@ -81,7 +98,8 @@ module Kalipso
81
98
  puts "uploading #{name} from #{path}"
82
99
  if site.path.present?
83
100
  puts "uploading #{site.path} to #{site.name}.oncalypso.com"
84
- `rsync -arvH #{site.path.gsub(/\/+$/, '')}/ sites@diddlydum.com:/home/sites/#{site.name}`
101
+ command = %Q[rsync -arvH -e "ssh -i #{Jaysus::Local.store_dir.join('keys', 'id_rsa')}" #{site.path.gsub(/\/+$/, '')}/ sites@diddlydum.com:/home/sites/#{site.name}]
102
+ `#{command}`
85
103
  puts "#{site.path} uploaded to http://#{site.name}.oncalypso.com"
86
104
  else
87
105
  puts "You need to link this site first"
@@ -0,0 +1,22 @@
1
+ module Kalipso
2
+ module PublicKey
3
+
4
+ class Base < Jaysus::Base
5
+ primary_key :id
6
+ attribute :id
7
+ attribute :key
8
+ attribute :user_id
9
+ attribute :created_at
10
+ attribute :updated_at
11
+ end
12
+
13
+ class Local < Base
14
+ include Jaysus::Local
15
+ end
16
+
17
+ class Remote < Base
18
+ include Jaysus::Remote
19
+ end
20
+
21
+ end
22
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kalipso
3
3
  version: !ruby/object:Gem::Version
4
- hash: 17
4
+ hash: 23
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 5
10
- version: 0.1.5
9
+ - 6
10
+ version: 0.1.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Paul Campbell
@@ -191,6 +191,7 @@ files:
191
191
  - kalipso.gemspec
192
192
  - lib/kalipso.rb
193
193
  - lib/kalipso/cli.rb
194
+ - lib/kalipso/public_key.rb
194
195
  - lib/kalipso/site.rb
195
196
  - spec/kalipso_spec.rb
196
197
  - spec/lib/kalipso/cli_spec.rb