mongoid-shell 0.4.0 → 0.4.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b8e2171bae62ea69cca115b3e565481d8eec2264
4
- data.tar.gz: 2a23dce764d1c449c36710985a57c4f0b21665da
3
+ metadata.gz: 6f8d3471c6d71f5f41ca2c8e0b45f0188ffda678
4
+ data.tar.gz: 3b5c41c1caba5e21f4803aece1b0f975c224c716
5
5
  SHA512:
6
- metadata.gz: 5a6595709848647bca1f6f917b4203db842ec600e8241896f042fd5edfbc32ac1bfce69cf98505feac096e9da8ed85c35ff4a310b2d347a09ee443d9ed610aee
7
- data.tar.gz: 9bd96b1f707fc37caca976d2c0c17a633231c4f9251cf1f1b04d12312aa9b4e828f922ce387cf7b1f8e8e83b1205b3202da1d8ac5f5d138a23b4c4a06c8c0124
6
+ metadata.gz: 4220dc0b160a4cda04b8c4d2361f4d4e4788d96dbd1a08bc6ce3835369ac68d5aa3741de636d531352db8432286788bdd428529ea30cb9c6f38b92d2f2bbf43a
7
+ data.tar.gz: eb954eecda14094f4aaadf730ffb0c8419295eee358fa1e8daad220b901cbb10b40015c91b753075e9e3b75d19999b94cf0260301e51fd0850b4f26ce42066c4
data/CHANGELOG.md CHANGED
@@ -1,3 +1,8 @@
1
+ 0.4.1 (10/25/2015)
2
+ ==================
3
+
4
+ * [#7](https://github.com/dblock/mongoid-shell/pull/7) - Added support for `mongoimport` and `mongoexport` - [@hoang1417](https://github.com/hoang1417).
5
+
1
6
  0.4.0 (10/20/2015)
2
7
  ==================
3
8
 
data/LICENSE.md CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2012 Daniel Doubrovkine, Artsy Inc.
3
+ Copyright (c) 2013-2015 Daniel Doubrovkine, Artsy Inc.
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining
6
6
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  Mongoid::Shell
2
2
  ==============
3
3
 
4
- [![Gem Version](http://img.shields.io/gem/v/mongoid-shell.svg)](http://badge.fury.io/rb/mongoid-shell)
5
- [![Build Status](http://img.shields.io/travis/dblock/mongoid-shell.svg)](https://travis-ci.org/dblock/mongoid-shell)
4
+ [![Gem Version](https://badge.fury.io/rb/mongoid-shell.svg)](https://badge.fury.io/rb/mongoid-shell)
5
+ [![Build Status](https://travis-ci.org/dblock/mongoid-shell.svg?branch=master)](https://travis-ci.org/dblock/mongoid-shell)
6
6
  [![Dependency Status](https://gemnasium.com/dblock/mongoid-shell.svg)](https://gemnasium.com/dblock/mongoid-shell)
7
7
  [![Code Climate](https://codeclimate.com/github/dblock/mongoid-shell.svg)](https://codeclimate.com/github/dblock/mongoid-shell)
8
8
 
@@ -76,6 +76,29 @@ mongorestore.to_s # mongorestore --db test --collection test /tmp/db_backup
76
76
 
77
77
  The `Mongoid::Shell::Commands::Mongorestore` class supports `--db`, `--host`, `--username`, `--password`, `--collection`, `--ipv6`, `--dbpath`, `--directoryperdb`, `--journal`, `--objcheck`, `--filter`, `--drop`, `--oplogReplay`, `--keepIndexVersion` and `--noIndexRestore`.
78
78
 
79
+ ### Mongoexport
80
+
81
+ The mongoexport tool produces a JSON or CSV export of data stored in a MongoDB instance.
82
+
83
+ ``` ruby
84
+ mongoexport = Mongoid::Shell::Commands::Mongoexport.new({ collection: 'traffic', out: 'traffic.json' })
85
+ mongoexport.to_s # mongoexport --db test --collection traffic --out traffic.json
86
+ ```
87
+
88
+ The `Mongoid::Shell::Commands::Mongoexport` class supports '--verbose', '--quiet', '--version', '--port', '--ipv6', '--ssl', '--sslCAFile', '--sslPEMKeyFile', '--sslPEMKeyPassword', '--sslCRLFile', '--sslAllowInvalidCertificates', '--sslAllowInvalidHostnames', '--sslFIPSMode', '--authenticationDatabase', '--authenticationMechanism', '--gssapiServiceName', '--gssapiHostName', '--collection', '--fields', '--fieldFile', '--query', '--csv', '--type', '--out', '--jsonArray', '--pretty', '--slaveOk', '--forceTableScan', '--skip', '--limit', '--sort', '--directoryperdb', '--journal', '--dbpath'.
89
+
90
+ ### Mongoimport
91
+
92
+ The mongoimport tool imports content from an Extended JSON, CSV, or TSV export created by mongoexport, or potentially, another third-party export tool.
93
+
94
+
95
+ ``` ruby
96
+ mongoimport = Mongoid::Shell::Commands::Mongoimport.new({ collection: 'contacts', file: 'contacts.json' })
97
+ mongoimport.to_s # mongoimport --db test --collection contacts --file contacts.json
98
+ ```
99
+
100
+ The `Mongoid::Shell::Commands::Mongoimport` class supports '--verbose', '--quiet', '--version', '--host', '--username', '--password', '--port', '--ipv6', '--ssl', '--sslCAFile', '--sslPEMKeyFile', '--sslPEMKeyPassword', '--sslCRLFile', '--sslAllowInvalidCertificates', '--sslAllowInvalidHostnames', '--sslFIPSMode', '--authenticationDatabase', '--authenticationMechanism', '--gssapiServiceName', '--gssapiHostName', '--db', '--collection', '--fields', '--directoryperdb', '--journal', '--dbpath', '--fieldFile', '--ignoreBlanks', '--type', '--file', '--drop', '--headerline', '--upsert', '--upsertFields', '--stopOnError', '--jsonArray', '--maintainInsertionOrder', '--numInsertionWorkers', '--writeConcern'
101
+
79
102
  ### Mongostat
80
103
 
81
104
  The mongostat utility provides a quick overview of the status of a currently running mongod or mongos instance.
@@ -92,6 +115,4 @@ Copyright and License
92
115
 
93
116
  MIT License, see [LICENSE](http://github.com/dblock/mongoid-shell/raw/master/LICENSE.md) for details.
94
117
 
95
- (c) 2013 [Daniel Doubrovkine](http://github.com/dblock), [Artsy Inc.](http://artsy.net)
96
-
97
-
118
+ (c) 2013-2015 [Daniel Doubrovkine](http://github.com/dblock), [Artsy Inc.](http://artsy.net)
@@ -2,4 +2,6 @@ require 'mongoid/shell/commands/base'
2
2
  require 'mongoid/shell/commands/mongo'
3
3
  require 'mongoid/shell/commands/mongodump'
4
4
  require 'mongoid/shell/commands/mongorestore'
5
+ require 'mongoid/shell/commands/mongoexport'
6
+ require 'mongoid/shell/commands/mongoimport'
5
7
  require 'mongoid/shell/commands/mongostat'
@@ -0,0 +1,69 @@
1
+ module Mongoid
2
+ module Shell
3
+ module Commands
4
+ class Mongoexport < Mongoid::Shell::Commands::Base
5
+ include Mongoid::Shell::Properties::Host
6
+ include Mongoid::Shell::Properties::Database
7
+ include Mongoid::Shell::Properties::Username
8
+ include Mongoid::Shell::Properties::Password
9
+
10
+ attr_accessor :verbose, :quiet, :port, :ipv6, :ssl, :sslCAFile,
11
+ :sslPEMKeyFile, :sslPEMKeyPassword, :sslCRLFile,
12
+ :sslAllowInvalidCertificates, :sslAllowInvalidHostnames, :sslFIPSMode,
13
+ :authenticationDatabase, :authenticationMechanism, :gssapiServiceName,
14
+ :gssapiHostName, :collection, :fields, :fieldFile, :query, :csv,
15
+ :type, :out, :jsonArray, :pretty, :slaveOk, :forceTableScan, :skip,
16
+ :limit, :sort, :directoryperdb, :journal, :dbpath
17
+
18
+ def initialize(attrs = {})
19
+ super
20
+ end
21
+
22
+ def vargs
23
+ super var_options.merge(boolean_options)
24
+ end
25
+
26
+ private
27
+
28
+ def var_options
29
+ {
30
+ '--db' => :db, '--host' => :host, '--port' => :port,
31
+ '--sslCAFile' => :sslCAFile,
32
+ '--sslPEMKeyFile' => :sslPEMKeyFile,
33
+ '--sslPEMKeyPassword' => :sslPEMKeyPassword,
34
+ '--sslCRLFile' => :sslCRLFile,
35
+ '--username' => :username,
36
+ '--password' => :password,
37
+ '--authenticationDatabase' => :authenticationDatabase,
38
+ '--authenticationMechanism' => :authenticationMechanism,
39
+ '--collection' => :collection,
40
+ '--fields' => :fields, '--fieldFile' => :fieldFile,
41
+ '--query' => :query,
42
+ '--type' => :type, '--out' => :out,
43
+ '--skip' => :skip, '--limit' => :limit, '--sort' => :sort
44
+ }
45
+ end
46
+
47
+ def boolean_options
48
+ {
49
+ '--verbose' => :verbose, '--quiet' => :quiet,
50
+ '--ipv6' => :ipv6, '--ssl' => :ssl,
51
+ '--sslAllowInvalidCertificates' => :sslAllowInvalidCertificates,
52
+ '--sslAllowInvalidHostnames' => :sslAllowInvalidHostnames,
53
+ '--sslFIPSMode' => :sslFIPSMode,
54
+ '--gssapiServiceName' => :gssapiServiceName,
55
+ '--gssapiHostName' => :gssapiHostName,
56
+ '--jsonArray' => :jsonArray,
57
+ '--pretty' => :pretty,
58
+ '--slaveOk' => :slaveOk,
59
+ '--forceTableScan' => :forceTableScan,
60
+ '--csv' => :csv, # is deprecated from Mongo version 3.0.0, use type instead
61
+ # these 3 below are deprecated from Mongo version 3.0.0
62
+ '--directoryperdb' => :directoryperdb,
63
+ '--journal' => :journal, '--dbpath' => :dbpath
64
+ }
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,74 @@
1
+ module Mongoid
2
+ module Shell
3
+ module Commands
4
+ class Mongoimport < Mongoid::Shell::Commands::Base
5
+ include Mongoid::Shell::Properties::Host
6
+ include Mongoid::Shell::Properties::Database
7
+ include Mongoid::Shell::Properties::Username
8
+ include Mongoid::Shell::Properties::Password
9
+
10
+ attr_accessor :verbose, :quiet, :port, :ipv6, :ssl, :sslCAFile,
11
+ :sslPEMKeyFile, :sslPEMKeyPassword, :sslCRLFile,
12
+ :sslAllowInvalidCertificates, :sslAllowInvalidHostnames, :sslFIPSMode,
13
+ :authenticationDatabase, :authenticationMechanism, :gssapiServiceName,
14
+ :gssapiHostName, :collection, :fields, :directoryperdb, :journal, :dbpath,
15
+ :fieldFile, :ignoreBlanks, :type, :file, :drop, :headerline, :upsert,
16
+ :upsertFields, :stopOnError, :jsonArray, :maintainInsertionOrder,
17
+ :numInsertionWorkers, :writeConcern
18
+
19
+ def initialize(attrs = {})
20
+ super
21
+ end
22
+
23
+ def vargs
24
+ super({
25
+
26
+ })
27
+ end
28
+
29
+ def vargs
30
+ super var_options.merge(boolean_options)
31
+ end
32
+
33
+ private
34
+
35
+ def var_options
36
+ {
37
+ '--db' => :db, '--host' => :host, '--port' => :port,
38
+ '--sslCAFile' => :sslCAFile,
39
+ '--sslPEMKeyFile' => :sslPEMKeyFile,
40
+ '--sslPEMKeyPassword' => :sslPEMKeyPassword,
41
+ '--sslCRLFile' => :sslCRLFile,
42
+ '--username' => :username, '--password' => :password,
43
+ '--authenticationDatabase' => :authenticationDatabase,
44
+ '--authenticationMechanism' => :authenticationMechanism,
45
+ '--collection' => :collection, '--fields' => :fields,
46
+ '--fieldFile' => :fieldFile, '--type' => :type, '--file' => :file,
47
+ '--upsertFields' => :upsertFields,
48
+ '--maintainInsertionOrder' => :maintainInsertionOrder,
49
+ '--numInsertionWorkers' => :numInsertionWorkers,
50
+ '--writeConcern' => :writeConcern,
51
+ # these 3 below are deprecated from Mongo version 3.0.0
52
+ '--directoryperdb' => :directoryperdb,
53
+ '--journal' => :journal, '--dbpath' => :dbpath
54
+ }
55
+ end
56
+
57
+ def boolean_options
58
+ {
59
+ '--verbose' => :verbose, '--quiet' => :quiet,
60
+ '--ipv6' => :ipv6, '--ssl' => :ssl,
61
+ '--sslAllowInvalidCertificates' => :sslAllowInvalidCertificates,
62
+ '--sslAllowInvalidHostnames' => :sslAllowInvalidHostnames,
63
+ '--sslFIPSMode' => :sslFIPSMode,
64
+ '--gssapiServiceName' => :gssapiServiceName,
65
+ '--gssapiHostName' => :gssapiHostName,
66
+ '--ignoreBlanks' => :ignoreBlanks, '--drop' => :drop,
67
+ '--headerline' => :headerline, '--upsert' => :upsert,
68
+ '--stopOnError' => :stopOnError, '--jsonArray' => :jsonArray
69
+ }
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -1,5 +1,5 @@
1
1
  module Mongoid
2
2
  module Shell
3
- VERSION = '0.4.0'
3
+ VERSION = '0.4.1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,55 +1,55 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mongoid-shell
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Doubrovkine
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-10-20 00:00:00.000000000 Z
11
+ date: 2015-10-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: mongoid
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 3.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: 3.0.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: i18n
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: mongoid-compatibility
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: '0'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  description:
@@ -67,6 +67,8 @@ files:
67
67
  - lib/mongoid/shell/commands/base.rb
68
68
  - lib/mongoid/shell/commands/mongo.rb
69
69
  - lib/mongoid/shell/commands/mongodump.rb
70
+ - lib/mongoid/shell/commands/mongoexport.rb
71
+ - lib/mongoid/shell/commands/mongoimport.rb
70
72
  - lib/mongoid/shell/commands/mongorestore.rb
71
73
  - lib/mongoid/shell/commands/mongostat.rb
72
74
  - lib/mongoid/shell/errors.rb
@@ -92,17 +94,17 @@ require_paths:
92
94
  - lib
93
95
  required_ruby_version: !ruby/object:Gem::Requirement
94
96
  requirements:
95
- - - '>='
97
+ - - ">="
96
98
  - !ruby/object:Gem::Version
97
99
  version: '0'
98
100
  required_rubygems_version: !ruby/object:Gem::Requirement
99
101
  requirements:
100
- - - '>='
102
+ - - ">="
101
103
  - !ruby/object:Gem::Version
102
104
  version: 1.3.6
103
105
  requirements: []
104
106
  rubyforge_project:
105
- rubygems_version: 2.4.5
107
+ rubygems_version: 2.4.8
106
108
  signing_key:
107
109
  specification_version: 4
108
110
  summary: Derive shell commands from Mongoid configuration options.