cloudant_backup 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/.travis.yml ADDED
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - "1.9.2"
4
+ - "1.9.3"
5
+ script:
6
+ - bundle exec rspec spec
data/README.md CHANGED
@@ -20,7 +20,7 @@ Or install it yourself as:
20
20
 
21
21
  ## Usage
22
22
 
23
- Most simple case: replicate your production db to one automatically
23
+ Most simple case. Replicate your production db to an automatically
24
24
  named backup db on cloudant:
25
25
 
26
26
  ```ruby
@@ -29,7 +29,7 @@ named backup db on cloudant:
29
29
  cb.password = 'password'
30
30
  cb.source = 'my_production_db'
31
31
 
32
- cb.replicate # Backup my_production_db to my_production_db_backup_2013_09_10
32
+ cb.backup # Backup my_production_db to my_production_db_backup_2013_09_10
33
33
  ```
34
34
 
35
35
  Create only one db per month (you can still update it daily):
@@ -39,7 +39,7 @@ Create only one db per month (you can still update it daily):
39
39
  [...]
40
40
  cb.date_pattern = '%Y_%m' # Any strftime string works
41
41
 
42
- cb.replicate
42
+ cb.backup
43
43
  ```
44
44
 
45
45
  Choose the target db name yourself:
@@ -49,7 +49,7 @@ Choose the target db name yourself:
49
49
  [...]
50
50
  cb.target = 'custom_target_db_name'
51
51
 
52
- cb.replicate
52
+ cb.backup
53
53
  ```
54
54
 
55
55
  Use another user instead of your cloudant main user:
@@ -60,7 +60,7 @@ Use another user instead of your cloudant main user:
60
60
  cb.user = 'generated_api_key'
61
61
  cb.cloudant_host = 'mainuser'
62
62
 
63
- cb.replicate
63
+ cb.backup
64
64
  ```
65
65
 
66
66
  Don't use cloudant at all, just copy one couchdb over to another:
@@ -70,7 +70,7 @@ Don't use cloudant at all, just copy one couchdb over to another:
70
70
  [...]
71
71
  cb.host = 'my-couchdb-instance.com'
72
72
 
73
- cb.replicate
73
+ cb.backup
74
74
  ```
75
75
 
76
76
  Thank you for your business!
@@ -28,6 +28,16 @@ class CloudantBackup
28
28
  make_request(:post, "_replicate", data)
29
29
  end
30
30
 
31
+ def host=(host)
32
+ parts = host.split("://")
33
+ if parts.length ==2
34
+ @protocol, @host = host.split("://")
35
+ else
36
+ @protocol = "http"
37
+ @host = host
38
+ end
39
+ end
40
+
31
41
  private
32
42
 
33
43
  def date_string
@@ -57,7 +67,11 @@ class CloudantBackup
57
67
  end
58
68
 
59
69
  def db_url(name)
60
- "https://#{user}:#{password}@#{host}/#{name}"
70
+ "#{protocol}://#{user}:#{password}@#{host}/#{name}"
71
+ end
72
+
73
+ def protocol
74
+ @protocol || "https"
61
75
  end
62
76
 
63
77
  def make_request(method, url, data = nil)
@@ -1,3 +1,3 @@
1
1
  class CloudantBackup
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -67,7 +67,7 @@ describe CloudantBackup do
67
67
  it "creates the backup db" do
68
68
  cb.host = 'my-couchdb.com'
69
69
  cb.target = 'custom-name'
70
- url = "https://backup-user:password@my-couchdb.com/custom-name"
70
+ url = "http://backup-user:password@my-couchdb.com/custom-name"
71
71
  RestClient.should_receive(:put).with(url, options)
72
72
  cb.create_target_db
73
73
  end
@@ -75,9 +75,9 @@ describe CloudantBackup do
75
75
  it "triggers the replication" do
76
76
  cb.target = 'custom-name'
77
77
  cb.host = 'my-couchdb.com'
78
- url = "https://backup-user:password@my-couchdb.com/_replicate"
79
- source_db = "https://backup-user:password@my-couchdb.com/production-db"
80
- target_db = "https://backup-user:password@my-couchdb.com/custom-name"
78
+ url = "http://backup-user:password@my-couchdb.com/_replicate"
79
+ source_db = "http://backup-user:password@my-couchdb.com/production-db"
80
+ target_db = "http://backup-user:password@my-couchdb.com/custom-name"
81
81
  data = {
82
82
  source: source_db,
83
83
  target: target_db
metadata CHANGED
@@ -2,110 +2,110 @@
2
2
  name: cloudant_backup
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.1
5
+ version: 0.0.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jannis Hermanns
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-09-10 00:00:00.000000000 Z
12
+ date: 2013-12-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
16
- version_requirements: !ruby/object:Gem::Requirement
17
- none: false
16
+ type: :development
17
+ requirement: !ruby/object:Gem::Requirement
18
18
  requirements:
19
19
  - - ~>
20
20
  - !ruby/object:Gem::Version
21
21
  version: '1.3'
22
- requirement: !ruby/object:Gem::Requirement
23
22
  none: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ~>
26
26
  - !ruby/object:Gem::Version
27
27
  version: '1.3'
28
- type: :development
28
+ none: false
29
29
  prerelease: false
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rake
32
- version_requirements: !ruby/object:Gem::Requirement
33
- none: false
32
+ type: :development
33
+ requirement: !ruby/object:Gem::Requirement
34
34
  requirements:
35
35
  - - ! '>='
36
36
  - !ruby/object:Gem::Version
37
37
  version: '0'
38
- requirement: !ruby/object:Gem::Requirement
39
38
  none: false
39
+ version_requirements: !ruby/object:Gem::Requirement
40
40
  requirements:
41
41
  - - ! '>='
42
42
  - !ruby/object:Gem::Version
43
43
  version: '0'
44
- type: :development
44
+ none: false
45
45
  prerelease: false
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: rest-client
48
- version_requirements: !ruby/object:Gem::Requirement
49
- none: false
48
+ type: :runtime
49
+ requirement: !ruby/object:Gem::Requirement
50
50
  requirements:
51
51
  - - ! '>='
52
52
  - !ruby/object:Gem::Version
53
53
  version: '0'
54
- requirement: !ruby/object:Gem::Requirement
55
54
  none: false
55
+ version_requirements: !ruby/object:Gem::Requirement
56
56
  requirements:
57
57
  - - ! '>='
58
58
  - !ruby/object:Gem::Version
59
59
  version: '0'
60
- type: :runtime
60
+ none: false
61
61
  prerelease: false
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: guard-rspec
64
- version_requirements: !ruby/object:Gem::Requirement
65
- none: false
64
+ type: :runtime
65
+ requirement: !ruby/object:Gem::Requirement
66
66
  requirements:
67
67
  - - ! '>='
68
68
  - !ruby/object:Gem::Version
69
69
  version: '0'
70
- requirement: !ruby/object:Gem::Requirement
71
70
  none: false
71
+ version_requirements: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ! '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
- type: :runtime
76
+ none: false
77
77
  prerelease: false
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: guard-bundler
80
- version_requirements: !ruby/object:Gem::Requirement
81
- none: false
80
+ type: :runtime
81
+ requirement: !ruby/object:Gem::Requirement
82
82
  requirements:
83
83
  - - ! '>='
84
84
  - !ruby/object:Gem::Version
85
85
  version: '0'
86
- requirement: !ruby/object:Gem::Requirement
87
86
  none: false
87
+ version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - ! '>='
90
90
  - !ruby/object:Gem::Version
91
91
  version: '0'
92
- type: :runtime
92
+ none: false
93
93
  prerelease: false
94
94
  - !ruby/object:Gem::Dependency
95
95
  name: guard
96
- version_requirements: !ruby/object:Gem::Requirement
97
- none: false
96
+ type: :runtime
97
+ requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - ! '>='
100
100
  - !ruby/object:Gem::Version
101
101
  version: '0'
102
- requirement: !ruby/object:Gem::Requirement
103
102
  none: false
103
+ version_requirements: !ruby/object:Gem::Requirement
104
104
  requirements:
105
105
  - - ! '>='
106
106
  - !ruby/object:Gem::Version
107
107
  version: '0'
108
- type: :runtime
108
+ none: false
109
109
  prerelease: false
110
110
  description: Makes a backup of a cloudant db
111
111
  email:
@@ -115,6 +115,7 @@ extensions: []
115
115
  extra_rdoc_files: []
116
116
  files:
117
117
  - .gitignore
118
+ - .travis.yml
118
119
  - Gemfile
119
120
  - Guardfile
120
121
  - LICENSE.txt
@@ -135,17 +136,23 @@ rdoc_options: []
135
136
  require_paths:
136
137
  - lib
137
138
  required_ruby_version: !ruby/object:Gem::Requirement
138
- none: false
139
139
  requirements:
140
140
  - - ! '>='
141
141
  - !ruby/object:Gem::Version
142
+ segments:
143
+ - 0
144
+ hash: 3180739372986018778
142
145
  version: '0'
143
- required_rubygems_version: !ruby/object:Gem::Requirement
144
146
  none: false
147
+ required_rubygems_version: !ruby/object:Gem::Requirement
145
148
  requirements:
146
149
  - - ! '>='
147
150
  - !ruby/object:Gem::Version
151
+ segments:
152
+ - 0
153
+ hash: 3180739372986018778
148
154
  version: '0'
155
+ none: false
149
156
  requirements: []
150
157
  rubyforge_project:
151
158
  rubygems_version: 1.8.25