mongo-db-utils 0.0.5 → 0.0.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/README.md CHANGED
@@ -12,9 +12,6 @@ It saves your database urls so any task is just a few clicks.
12
12
  * backup a database and deploy it to Amazon S3
13
13
  * copy a database from one server to another (whilst backing up locally the target db if it exists)
14
14
 
15
-
16
-
17
-
18
15
  ## Installation
19
16
 
20
17
  You need to have *mongodump* and *mongorestore* on your path.
@@ -34,7 +31,13 @@ Only works on ruby 1.9.3 (to_yaml is throwing an error in earlier versions)
34
31
  Once you launch the console it'll provide you with a set of options - pretty self explanatory.
35
32
  When it does backups it stores them in ````~/.mongo-db-utils/backups/````. The naming convention is ````${server}_${port}/${database_name}/${timestamp}/db````
36
33
 
34
+ ## Testing
35
+
36
+ bundle exec rspec spec
37
37
 
38
+ #cucumber can't handle interactive CLIs so need to wait on this.
39
+ #bundle exec cucumber features
40
+
38
41
  ## Building source
39
42
 
40
43
  #run console
@@ -27,16 +27,10 @@ module MongoDbUtils
27
27
  desc "backup_s3 MONGO_URI BUCKET ACCESS_KEY SECRET_ACCESS_KEY", "backup a db to Amason s3 with a mongo uri eg: mongodb://user:pass@server:port/dbname"
28
28
  def backup_s3(mongo_uri, bucket_name, access_key_id, secret_access_key)
29
29
  @config = MongoDbUtils::ConfigLoader.load
30
+ backup_folder = @config.backup_folder
30
31
  db = MongoDbUtils::Model::Db.from_uri(mongo_uri)
31
32
  raise "can't parse uri" if db.nil?
32
- tar_file = MongoDbUtils::Cmd.backup(db, @config.backup_folder)
33
-
34
- name = tar_file.gsub(File.expand_path(@config.backup_folder), "")
35
-
36
- MongoDbUtils::S3::put_file(tar_file, name, bucket_name, access_key_id, secret_access_key)
37
- file = File.basename(tar_file)
38
- folder = tar_file.gsub(file, "")
39
- `rm -fr #{folder}`
33
+ MongoDbUtils::Cmd.backup_s3(backup_folder, db, bucket_name, access_key_id, secret_access_key)
40
34
  end
41
35
 
42
36
  end
@@ -3,49 +3,35 @@ require 'aws/s3'
3
3
  module MongoDbUtils
4
4
  module Commands
5
5
 
6
- class Option
7
- attr_accessor :key, :value
8
-
9
- def initialize(key,value)
10
- @key = key
11
- @value = value
12
- end
13
-
14
- def empty?
15
- @value.nil? || @value.empty?
16
- end
17
- end
18
-
19
6
  class MongoTools
20
7
 
8
+ # wrapper for monogdump shell command
21
9
  def self.dump(host,port,db,output,username = "", password = "")
22
10
 
23
11
  options = []
24
- options << Option.new("-h", "#{host}:#{port}")
25
- options << Option.new("-db", db)
26
- options << Option.new("-o", output)
27
- options << Option.new("-u", username)
28
- options << Option.new("-p", password)
12
+ options << o("-h", "#{host}:#{port}")
13
+ options << o("-db", db)
14
+ options << o("-o", output)
15
+ options << o("-u", username)
16
+ options << o("-p", password)
29
17
 
30
18
  cmd = "mongodump "
31
19
 
32
20
  options.each do |o|
33
21
  cmd << "#{o.key} #{o.value} " unless o.empty?
34
22
  end
35
- puts "cmd:"
36
- puts cmd
37
23
  `#{cmd}`
38
-
39
24
  end
40
25
 
41
26
 
27
+ # wrapper for mongorestore shell command
42
28
  def self.restore(host,port,db,source_folder,username = "", password = "")
43
29
 
44
30
  options = []
45
- options << Option.new("-h", "#{host}:#{port}")
46
- options << Option.new("-db", db)
47
- options << Option.new("-u", username)
48
- options << Option.new("-p", password)
31
+ options << o("-h", "#{host}:#{port}")
32
+ options << o("-db", db)
33
+ options << o("-u", username)
34
+ options << o("-p", password)
49
35
 
50
36
  cmd = "mongorestore "
51
37
 
@@ -53,25 +39,28 @@ module MongoDbUtils
53
39
  cmd << "#{o.key} #{o.value} " unless o.empty?
54
40
  end
55
41
  cmd << "#{source_folder}"
56
- puts "cmd:"
57
- puts cmd
58
42
  `#{cmd}`
43
+ end
59
44
 
45
+ private
46
+ def self.o(key,value)
47
+ Option.new(key,value)
60
48
  end
61
49
 
62
50
  end
63
51
 
64
- class S3
52
+ class Option
53
+ attr_accessor :key, :value
65
54
 
66
- def self.put_file(file, bucket_name, access_key_id, secret_access_key)
67
- AWS::S3::Base.establish_connection!(
68
- :access_key_id => access_key_id,
69
- :secret_access_key => secret_access_key
70
- )
55
+ def initialize(key,value)
56
+ @key = key
57
+ @value = value
58
+ end
71
59
 
72
- Service.buckets.create(bucket_name) if Service.buckets.find(bucket_name).nil?
73
- S3Object.store(file, open(file), bucket_name)
60
+ def empty?
61
+ @value.nil? || @value.empty?
74
62
  end
75
63
  end
64
+
76
65
  end
77
66
  end
@@ -6,19 +6,15 @@ module MongoDbUtils
6
6
  class Cmd
7
7
 
8
8
  def self.backup(db, folder, final_path = nil, tar_it = true)
9
- puts "--"
10
9
  puts ">> Backing up: #{db}, #{folder}, #{final_path}"
11
10
  unless( db_exists?(db) )
12
11
  return false
13
12
  end
14
13
 
15
- t = Time.new
16
- timestamp = t.strftime("%Y.%m.%d__%H.%M")
17
-
18
14
  if( final_path.nil? )
19
15
  out_path = "#{folder}/#{db.host}_#{db.port}/#{db.name}/#{timestamp}"
20
16
  else
21
- puts "final path not nil out_path: #{out_path}"
17
+ out_path = "#{folder}/#{final_path}"
22
18
  end
23
19
 
24
20
  full_path = File.expand_path(out_path)
@@ -38,9 +34,10 @@ module MongoDbUtils
38
34
  Dir.chdir(full_path)
39
35
  `tar cvf #{db.name}.tar #{db.name}`
40
36
  `rm -fr #{full_path}/#{db.name}`
37
+ "#{full_path}/#{db.name}.tar"
38
+ else
39
+ "#{full_path}/#{db.name}"
41
40
  end
42
-
43
- "#{full_path}/#{db.name}.tar"
44
41
  end
45
42
 
46
43
  # With remote dbs you can't do a copy_database if you're not an admin.
@@ -52,11 +49,9 @@ module MongoDbUtils
52
49
  # end
53
50
  # host = "#{source.host}:#{source.port}"
54
51
  # connection.copy_database(source.name, destination.name, host, source.username, source.password)
55
- #
56
- #
57
52
  def self.copy(path, source, destination, halt_on_no_backup = true)
58
53
 
59
- backup_made = self.backup(destination, path)
54
+ backup_made = backup(destination, path)
60
55
 
61
56
  if( !backup_made && halt_on_no_backup)
62
57
  puts "aborting - no backup was made"
@@ -68,53 +63,64 @@ module MongoDbUtils
68
63
  FileUtils.mkdir_p(tmp_path)
69
64
 
70
65
  puts "backup to: #{tmp_path}/#{source.name}"
71
- backup(source,tmp_path, source.name, false)
66
+ tmp_dump_path = backup(source,tmp_path, source.name, false)
67
+
68
+ username = destination.username
69
+ password = destination.password
70
+
71
+ # if the destination db doesn't exist
72
+ # we assume that the user has admin control of the server
73
+ # eg its a local server (this needs to be thought through a bit more)
74
+ if( !db_exists?(destination) )
75
+ username = ""
76
+ password = ""
77
+ end
72
78
 
73
79
  MongoDbUtils::Commands::MongoTools.restore(
74
80
  destination.host,
75
81
  destination.port,
76
82
  destination.name,
77
- "#{tmp_path}/#{source.name}/#{source.name}",
78
- destination.username,
79
- destination.password)
83
+ "#{tmp_dump_path}",
84
+ username,
85
+ password)
80
86
 
81
87
  `rm -fr #{tmp_path}`
82
88
  end
83
89
 
90
+ def self.backup_s3(backup_folder, db, bucket_name, access_key_id, secret_access_key)
91
+ tar_file = MongoDbUtils::Cmd.backup(db, backup_folder)
92
+ name = tar_file.gsub(File.expand_path(backup_folder), "")
93
+ MongoDbUtils::S3::put_file(tar_file, name, bucket_name, access_key_id, secret_access_key)
94
+ file = File.basename(tar_file)
95
+ folder = tar_file.gsub(file, "")
96
+ `rm -fr #{folder}`
97
+ end
98
+
84
99
 
85
100
  private
86
- def self.db_exists?(db)
87
101
 
88
- puts "DB exists? #{db.to_s}"
102
+ def self.timestamp
103
+ t = Time.new
104
+ t.strftime("%Y.%m.%d__%H.%M")
105
+ end
89
106
 
107
+ def self.db_exists?(db)
108
+ puts "DB exists? #{db.to_s}"
90
109
  connection = Mongo::Connection.from_uri(db.to_s)
91
-
92
- puts "db.name: #{db.name}"
93
- mongo_db = connection[db.name]
94
-
95
- exists = !mongo_db.nil?
96
-
97
- puts "mongo_db: #{mongo_db}"
98
- if( db.authentication_required? && exists )
99
- login_result = mongo_db.authenticate(db.username, db.password)
100
- exists = !login_result.nil?
101
- else
110
+ exists = true
111
+ begin
112
+ connection.ping
113
+ rescue Mongo::AuthenticationError => e
114
+ exists = false
102
115
  end
103
116
  connection.close
104
117
  exists
105
118
  end
119
+ =begin
120
+ connection.database_names
121
+ rescue Mongo::OperationFailure => e
122
+ =end
106
123
 
107
- def self.remove_db(db)
108
- if( db_exists?(db))
109
- connection = Mongo::Connection.from_uri(db.to_s)
110
- if( db.authentication_required? )
111
- mongo_db = connection[db.name]
112
- mongo_db.authenticate(db.username, db.password)
113
- end
114
124
 
115
- connection.drop_database(db.name)
116
- connection.close
117
- end
118
- end
119
125
  end
120
126
  end
@@ -6,10 +6,10 @@ module MongoDbUtils
6
6
  class Console
7
7
 
8
8
  HEADER = <<-eos
9
- ===================================
10
- Mongo Db Utils - Version: #{MongoDbUtils::VERSION}
11
- ===================================
12
- eos
9
+ =====================================
10
+ || Mongo Db Utils - Version: #{MongoDbUtils::VERSION} ||
11
+ =====================================
12
+ eos
13
13
 
14
14
 
15
15
  def initialize(config, cmd)
@@ -25,16 +25,16 @@ module MongoDbUtils
25
25
 
26
26
  private
27
27
  def main_menu
28
- say("\nWhat do you want to do?")
29
- choose do |menu|
30
- prep_menu(menu)
28
+
29
+ my_menu("What do you want to do?") do |menu|
31
30
  menu.choice "copy a db" do copy_a_db end
32
- menu.choice "backup a db" do do_backup end
31
+ menu.choice "backup a db locally" do do_backup end
32
+ menu.choice "backup a db to an amazon s3 bucket" do backup_to_s3 end
33
33
  menu.choice "remove config" do remove_config end
34
34
  menu.choice "show config" do show_config end
35
35
  menu.choice "add server to config" do add_config end
36
+ menu.choice "add Amazon bucket to config" do add_bucket_to_config end
36
37
  menu.choice "remove server from config" do remove_server_from_config end
37
- menu.choice "exit" do say("goodbye") end
38
38
  end
39
39
  end
40
40
 
@@ -43,15 +43,60 @@ module MongoDbUtils
43
43
  main_menu
44
44
  end
45
45
 
46
+ #
46
47
  def do_backup
47
-
48
48
  if @config.empty?
49
49
  get_config
50
50
  else
51
- list_dbs
51
+ db_list_menu("Choose a DB:") do |db|
52
+ @cmd.backup(db, @config.backup_folder)
53
+ end
54
+ end
55
+ end
56
+
57
+
58
+ def backup_to_s3
59
+
60
+ plan = Hash.new
61
+
62
+ db_list_menu("Choose a DB:") do |db|
63
+ plan[:db] = db
64
+ end
65
+
66
+ if @config.has_buckets?
67
+ list_buckets("Choose a Bucket:") do |bucket|
68
+ plan[:bucket] = bucket
69
+ end
70
+ else
71
+ say("You don't have any buckets yet - add one..")
72
+ add_bucket_to_config
73
+ return
52
74
  end
75
+
76
+ @cmd.backup_s3(
77
+ @config.backup_folder,
78
+ plan[:db],
79
+ plan[:bucket].name,
80
+ plan[:bucket].access_key,
81
+ plan[:bucket].secret_key)
82
+ end
83
+
84
+
85
+ def add_bucket_to_config
86
+ say("add an amazon bucket:")
87
+ bucket = MongoDbUtils::Model::Bucket.new
88
+
89
+ bucket.name = ask("Name")
90
+ bucket.access_key = ask("Access Key")
91
+ bucket.secret_key = ask("Secret Key")
92
+
93
+ @config.add_bucket(bucket)
94
+
95
+ say("Bucket added")
96
+ my_menu("")
53
97
  end
54
98
 
99
+
55
100
  def get_config
56
101
  say("You don't have any servers configured, please add one:")
57
102
  add_config
@@ -63,18 +108,23 @@ module MongoDbUtils
63
108
  say("dbs:")
64
109
  say("--------------------")
65
110
  @config.dbs.sort.each do |db|
66
- say("#{db.to_s_simple}")
111
+ say(db.to_s_simple)
67
112
  end
68
113
  say("--------------------")
69
- say("")
114
+ say("Amazon S3 Buckets")
115
+ if( @config.buckets.nil?)
116
+ say("no buckets")
117
+ else
118
+ @config.buckets.sort.each do |bucket|
119
+ say(bucket.to_s)
120
+ end
121
+ end
122
+
70
123
  say("backups folder:")
71
124
  say("--------------------")
72
125
  say("#{@config.backup_folder}")
73
126
  say("--------------------")
74
- choose do |menu|
75
- prep_menu(menu)
76
- menu.choice "back" do main_menu end
77
- end
127
+ my_menu("")
78
128
  end
79
129
 
80
130
  def add_config
@@ -83,76 +133,29 @@ module MongoDbUtils
83
133
  new_uri = entry[:mongo_uri].gsub(" ", "")
84
134
  successful = @config.add_db_from_uri(new_uri)
85
135
 
86
- if successful
87
- say("added server")
88
- choose do |menu|
89
- prep_menu(menu)
90
- menu.choice "add another?" do add_config end
91
- menu.choice "done" do main_menu end
92
- end
93
-
94
- else
95
- say("couldn't add uri")
96
- add_config
97
- end
98
- end
136
+ say("bad uri!") unless successful
99
137
 
138
+ label = successful ? "add another?" : "try again?"
100
139
 
101
- def list_dbs
102
- say("Which db?")
103
- choose do |menu|
104
- prep_menu(menu)
105
- @config.dbs.each do |db|
106
- menu.choice "#{db.to_s}" do backup(db) end
107
- end
108
- menu.choice "back" do main_menu end
140
+ my_menu("") do |menu|
141
+ menu.choice label do add_config end
109
142
  end
110
143
  end
111
144
 
112
-
113
145
  def remove_server_from_config
114
- say("remove server from config...")
115
- choose do |menu|
116
- prep_menu(menu)
117
- @config.dbs.sort.each do |db|
118
- menu.choice "#{db.to_s}" do
119
- @config.remove_db(db)
120
- remove_server_from_config
121
- end
122
- end
123
- menu.choice "back" do main_menu end
146
+ db_list_menu("Remove server from config:") do |db|
147
+ @config.remove_db(db)
148
+ remove_server_from_config
124
149
  end
125
150
  end
126
151
 
127
152
  def copy_a_db
128
-
129
153
  copy_plan = Hash.new
130
-
131
- say("Choose db to copy:")
132
- choose do |menu|
133
- prep_menu(menu)
134
- @config.dbs.sort.each do |db|
135
- menu.choice "#{db.to_s}" do
136
- copy_plan[:source] = db
137
- end
138
-
139
- end
140
- menu.choice "add server to config" do add_config end
141
- menu.choice "back" do
142
- main_menu
143
- return
144
- end
154
+ db_list_menu("Choose db to copy:") do |db|
155
+ copy_plan[:source] = db
145
156
  end
146
-
147
- say("Choose db destination:")
148
- choose do |menu|
149
- prep_menu(menu)
150
- @config.dbs.sort.each do |db|
151
- menu.choice "#{db.to_s}" do
152
- copy_plan[:destination] = db
153
- end unless db == copy_plan[:source]
154
- end
155
- menu.choice "add server to config" do add_config end
157
+ db_list_menu("Choose a destination:") do |db|
158
+ copy_plan[:destination] = db
156
159
  end
157
160
  show_copy_plan(copy_plan)
158
161
  end
@@ -161,31 +164,49 @@ module MongoDbUtils
161
164
  say("Copy: (we'll backup the destination before we copy)")
162
165
  say("#{plan[:source].to_s} --> #{plan[:destination].to_s}")
163
166
 
164
- choose do |menu|
165
- prep_menu(menu)
166
- menu.choice "Begin" do begin_copy(plan) end
167
+ my_menu("") do |menu|
168
+ menu.choice "Do it!" do begin_copy(plan) end
167
169
  menu.choice "Reverse" do
168
170
  show_copy_plan( {:source => plan[:destination], :destination => plan[:source]})
169
171
  end
170
- menu.choice "Back" do main_menu end
171
172
  end
172
173
  end
173
174
 
174
175
  def begin_copy(plan)
175
- say("doing copy...")
176
176
  @cmd.copy(@config.backup_folder, plan[:source], plan[:destination], false)
177
177
  end
178
178
 
179
- private
180
- def backup(db)
181
- puts ">> ..backing up #{db}"
182
- @cmd.backup(db, @config.backup_folder)
179
+ def my_menu(prompt, show_defaults = true)
180
+ say(prompt)
181
+ choose do |menu|
182
+ menu.shell = true
183
+ menu.index = :number
184
+ menu.prompt = "\n#{prompt}\n"
185
+ menu.index_suffix = ") "
186
+ menu.prompt = "?"
187
+ if( show_defaults)
188
+ menu.choice "Back" do main_menu end
189
+ menu.choice "Exit" do say("Goodbye"); abort("--"); end
190
+ end
191
+ say(" ")
192
+ yield menu if block_given?
193
+ end
194
+ end
195
+
196
+ def db_list_menu(prompt)
197
+ my_menu(prompt, false) do |menu|
198
+ @config.dbs.sort.each do |db|
199
+ menu.choice "#{db.to_s_simple}" do yield db if block_given? end
200
+ end
201
+ end
183
202
  end
184
203
 
185
- def prep_menu(menu)
186
- menu.index = :number
187
- menu.index_suffix = ") "
188
- menu.prompt = "?"
204
+ def list_buckets(prompt)
205
+ my_menu(prompt) do |menu|
206
+ @config.buckets.sort.each do |bucket|
207
+ menu.choice "#{bucket}" do yield bucket if block_given? end
208
+ end
209
+ end
189
210
  end
190
211
 
191
212
  end
@@ -2,18 +2,24 @@ module MongoDbUtils
2
2
 
3
3
  module Model
4
4
  class Config
5
- attr_reader :dbs
5
+ attr_reader :dbs, :buckets
6
6
  attr_writer :writer
7
7
  attr_accessor :backup_folder
8
8
 
9
9
  def initialize
10
10
  @dbs = []
11
+ @buckets = []
11
12
  end
12
13
 
13
14
  def empty?
14
15
  @dbs.nil? || @dbs.empty?
15
16
  end
16
17
 
18
+ def has_buckets?
19
+ !@buckets.nil? && !@buckets.empty?
20
+ end
21
+
22
+
17
23
  def flush
18
24
  @dbs = []
19
25
  @writer.flush
@@ -27,7 +33,7 @@ module MongoDbUtils
27
33
  def add_db_from_uri(uri)
28
34
  @dbs = [] if @dbs.nil?
29
35
  db = Db.from_uri(uri)
30
- unless db.nil?
36
+ unless db.nil? || already_contains(db)
31
37
  @dbs << db
32
38
  @dbs.sort!
33
39
  @writer.save(self)
@@ -35,6 +41,41 @@ module MongoDbUtils
35
41
  !db.nil?
36
42
  end
37
43
 
44
+ def already_contains(db)
45
+ @dbs.each do |existing|
46
+ if( existing.to_s == db.to_s)
47
+ return true
48
+ end
49
+
50
+ if( existing.host == db.host && existing.name == db.name)
51
+ return true
52
+ end
53
+
54
+ end
55
+ return false
56
+ end
57
+
58
+ # because we are serializing the config - the bucket may be nil
59
+ # at this point
60
+ def add_bucket(bucket)
61
+ @buckets = [] if @buckets.nil?
62
+ unless bucket.nil? || already_contains_bucket?(bucket)
63
+ @buckets << bucket
64
+ @writer.save(self)
65
+ end
66
+ end
67
+
68
+ def already_contains_bucket?(bucket)
69
+ puts "@buckets: #{@buckets}"
70
+ @buckets.each do |b|
71
+ if( b.to_s == bucket.to_s )
72
+ return true
73
+ end
74
+ end
75
+ return false
76
+ end
77
+
78
+
38
79
  def save
39
80
  @writer.save(self)
40
81
  end
@@ -44,6 +85,14 @@ module MongoDbUtils
44
85
  end
45
86
  end
46
87
 
88
+ class Bucket
89
+ attr_accessor :name, :access_key, :secret_key
90
+
91
+ def to_s
92
+ "#{name} | #{access_key} | #{secret_key}"
93
+ end
94
+
95
+ end
47
96
 
48
97
  # A Db stored in the config
49
98
  class Db
@@ -96,7 +145,7 @@ module MongoDbUtils
96
145
  end
97
146
 
98
147
  def to_s_simple
99
- "#{@host}:#{@port}/#{@name}"
148
+ "#{@name} on #{@host}:#{@port} - (#{@username}:#{@password})"
100
149
  end
101
150
 
102
151
  def <=>(other)
@@ -1,4 +1,4 @@
1
1
  module MongoDbUtils
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  READY_FOR_USE = "(Alpha version - not for production use!!)"
4
4
  end
@@ -13,6 +13,7 @@ Gem::Specification.new do |gem|
13
13
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
14
  gem.name = "mongo-db-utils"
15
15
  gem.require_paths = ["lib"]
16
+ gem.required_ruby_version = '>= 1.9.3'
16
17
  gem.version = MongoDbUtils::VERSION
17
18
  gem.add_development_dependency "rspec", "~> 2.6"
18
19
  gem.add_development_dependency "cucumber"
@@ -47,13 +47,18 @@ describe MongoDbUtils::Model do
47
47
  end
48
48
 
49
49
 
50
- it "config should add dbs" do
50
+ it "config should add dbs only if they are different" do
51
51
  config = MongoDbUtils::Model::Config.new
52
52
  config.writer = MockWriter.new
53
53
 
54
- config.add_db_from_uri("mongodb://blah:3333/blah")
54
+ config.add_db_from_uri("mongodb://blah:3333@server:123/blah")
55
55
  config.dbs.length.should eql(1)
56
- config.add_db_from_uri("mongodb://blah:3333/blah")
56
+ config.add_db_from_uri("mongodb://blah:3333@server:123/blah")
57
+ config.dbs.length.should eql(1)
58
+ # still the same server + name
59
+ config.add_db_from_uri("mongodb://server:123/blah")
60
+ config.dbs.length.should eql(1)
61
+ config.add_db_from_uri("mongodb://server2:123/blah")
57
62
  config.dbs.length.should eql(2)
58
63
  end
59
64
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongo-db-utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -164,14 +164,11 @@ extensions: []
164
164
  extra_rdoc_files: []
165
165
  files:
166
166
  - .gitignore
167
- - .mongo-db-utils/config.yml
168
167
  - Gemfile
169
168
  - LICENSE
170
169
  - README.md
171
170
  - Rakefile
172
171
  - bin/mongo-db-utils
173
- - features/mongo-db-utils.feature
174
- - features/support/setup.rb
175
172
  - images/sample.png
176
173
  - install_rdebug.sh
177
174
  - lib/mongo-db-utils/cli.rb
@@ -196,7 +193,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
196
193
  requirements:
197
194
  - - ! '>='
198
195
  - !ruby/object:Gem::Version
199
- version: '0'
196
+ version: 1.9.3
200
197
  required_rubygems_version: !ruby/object:Gem::Requirement
201
198
  none: false
202
199
  requirements:
@@ -210,7 +207,5 @@ signing_key:
210
207
  specification_version: 3
211
208
  summary: some utilities for managing your mongod dbs
212
209
  test_files:
213
- - features/mongo-db-utils.feature
214
- - features/support/setup.rb
215
210
  - spec/config-loader-spec.rb
216
211
  - spec/mongo_db_utils_spec.rb
@@ -1,2 +0,0 @@
1
- --- !ruby/object:MongoDbUtils::Model::Config
2
- name: This is the config
@@ -1,9 +0,0 @@
1
- Feature: MongoDbUtils
2
- In order to say hello
3
- As a CLI
4
- I want to be as objective as possible
5
-
6
- Scenario: Hello Ed
7
- When I run `mongo-db-utils`
8
- Then the output should contain "hello"
9
-
@@ -1 +0,0 @@
1
- require 'aruba/cucumber'