mongify 0.3.1 → 0.9

Sign up to get free protection for your applications and to get access to all the features.
@@ -6,6 +6,7 @@ describe Mongify::Translation::Process do
6
6
  @sql_connection = DatabaseGenerator.sqlite_connection
7
7
  @no_sql_connection = DatabaseGenerator.mongo_connection
8
8
  @translation = Mongify::Translation.new
9
+ Mongify::Configuration.out_stream = nil
9
10
  end
10
11
 
11
12
  it "validates a sqlconnection" do
@@ -3,7 +3,7 @@ sqlite:
3
3
  database: spec/tmp/test.sqlite
4
4
 
5
5
  mysql:
6
- adapter: mysql
6
+ adapter: mysql2
7
7
  database: mongify_test
8
8
  username: root
9
9
  password: passw0rd
metadata CHANGED
@@ -2,14 +2,14 @@
2
2
  name: mongify
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.3.1
5
+ version: '0.9'
6
6
  platform: ruby
7
7
  authors:
8
8
  - Andrew Kalek
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-21 00:00:00.000000000 Z
12
+ date: 2013-02-08 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  type: :runtime
@@ -48,49 +48,33 @@ dependencies:
48
48
  version_requirements: !ruby/object:Gem::Requirement
49
49
  none: false
50
50
  requirements:
51
- - - ! '>='
52
- - !ruby/object:Gem::Version
53
- version: '0'
54
- name: mysql2
55
- prerelease: false
56
- requirement: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - ! '>='
51
+ - - ~>
60
52
  - !ruby/object:Gem::Version
61
- version: '0'
62
- - !ruby/object:Gem::Dependency
63
- type: :runtime
64
- version_requirements: !ruby/object:Gem::Requirement
65
- none: false
66
- requirements:
67
- - - ! '>='
68
- - !ruby/object:Gem::Version
69
- version: 1.1.5
53
+ version: 1.8.2
70
54
  name: mongo
71
55
  prerelease: false
72
56
  requirement: !ruby/object:Gem::Requirement
73
57
  none: false
74
58
  requirements:
75
- - - ! '>='
59
+ - - ~>
76
60
  - !ruby/object:Gem::Version
77
- version: 1.1.5
61
+ version: 1.8.2
78
62
  - !ruby/object:Gem::Dependency
79
63
  type: :runtime
80
64
  version_requirements: !ruby/object:Gem::Requirement
81
65
  none: false
82
66
  requirements:
83
- - - ! '>='
67
+ - - ~>
84
68
  - !ruby/object:Gem::Version
85
- version: 1.1.5
69
+ version: 1.8.2
86
70
  name: bson_ext
87
71
  prerelease: false
88
72
  requirement: !ruby/object:Gem::Requirement
89
73
  none: false
90
74
  requirements:
91
- - - ! '>='
75
+ - - ~>
92
76
  - !ruby/object:Gem::Version
93
- version: 1.1.5
77
+ version: 1.8.2
94
78
  - !ruby/object:Gem::Dependency
95
79
  type: :runtime
96
80
  version_requirements: !ruby/object:Gem::Requirement
@@ -194,31 +178,31 @@ dependencies:
194
178
  requirements:
195
179
  - - ! '>='
196
180
  - !ruby/object:Gem::Version
197
- version: '0.6'
198
- name: watchr
181
+ version: '1.3'
182
+ name: sqlite3-ruby
199
183
  prerelease: false
200
184
  requirement: !ruby/object:Gem::Requirement
201
185
  none: false
202
186
  requirements:
203
187
  - - ! '>='
204
188
  - !ruby/object:Gem::Version
205
- version: '0.6'
189
+ version: '1.3'
206
190
  - !ruby/object:Gem::Dependency
207
191
  type: :development
208
192
  version_requirements: !ruby/object:Gem::Requirement
209
193
  none: false
210
194
  requirements:
211
- - - ! '>='
195
+ - - ~>
212
196
  - !ruby/object:Gem::Version
213
- version: '1.3'
214
- name: sqlite3-ruby
197
+ version: 0.2.7
198
+ name: mysql2
215
199
  prerelease: false
216
200
  requirement: !ruby/object:Gem::Requirement
217
201
  none: false
218
202
  requirements:
219
- - - ! '>='
203
+ - - ~>
220
204
  - !ruby/object:Gem::Version
221
- version: '1.3'
205
+ version: 0.2.7
222
206
  - !ruby/object:Gem::Dependency
223
207
  type: :development
224
208
  version_requirements: !ruby/object:Gem::Requirement
@@ -226,15 +210,15 @@ dependencies:
226
210
  requirements:
227
211
  - - ! '>='
228
212
  - !ruby/object:Gem::Version
229
- version: 2.8.1
230
- name: mysql
213
+ version: '0.6'
214
+ name: watchr
231
215
  prerelease: false
232
216
  requirement: !ruby/object:Gem::Requirement
233
217
  none: false
234
218
  requirements:
235
219
  - - ! '>='
236
220
  - !ruby/object:Gem::Version
237
- version: 2.8.1
221
+ version: '0.6'
238
222
  - !ruby/object:Gem::Dependency
239
223
  type: :development
240
224
  version_requirements: !ruby/object:Gem::Requirement
@@ -263,6 +247,7 @@ extra_rdoc_files:
263
247
  - README.rdoc
264
248
  files:
265
249
  - .gitignore
250
+ - .rspec
266
251
  - CHANGELOG.rdoc
267
252
  - Gemfile
268
253
  - Gemfile.lock
@@ -280,10 +265,10 @@ files:
280
265
  - lib/mongify.rb
281
266
  - lib/mongify/cli.rb
282
267
  - lib/mongify/cli/application.rb
283
- - lib/mongify/cli/help_command.rb
268
+ - lib/mongify/cli/command/help.rb
269
+ - lib/mongify/cli/command/version.rb
270
+ - lib/mongify/cli/command/worker.rb
284
271
  - lib/mongify/cli/options.rb
285
- - lib/mongify/cli/version_command.rb
286
- - lib/mongify/cli/worker_command.rb
287
272
  - lib/mongify/configuration.rb
288
273
  - lib/mongify/database.rb
289
274
  - lib/mongify/database/base_connection.rb
@@ -306,9 +291,9 @@ files:
306
291
  - spec/files/embedded_parent_translation.rb
307
292
  - spec/files/translation.rb
308
293
  - spec/mongify/cli/application_spec.rb
309
- - spec/mongify/cli/help_command_spec.rb
294
+ - spec/mongify/cli/command/help_spec.rb
295
+ - spec/mongify/cli/command/version_spec.rb
310
296
  - spec/mongify/cli/options_spec.rb
311
- - spec/mongify/cli/version_command_spec.rb
312
297
  - spec/mongify/cli/worker_command_spec.rb
313
298
  - spec/mongify/configuration_spec.rb
314
299
  - spec/mongify/database/base_connection_spec.rb
@@ -355,11 +340,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
355
340
  - !ruby/object:Gem::Version
356
341
  segments:
357
342
  - 0
358
- hash: 3995548791361454296
343
+ hash: 2090311925620854324
359
344
  version: '0'
360
345
  requirements: []
361
346
  rubyforge_project:
362
- rubygems_version: 1.8.24
347
+ rubygems_version: 1.8.25
363
348
  signing_key:
364
349
  specification_version: 3
365
350
  summary: Translate your SQL data to MongoDB with ease
@@ -376,9 +361,9 @@ test_files:
376
361
  - spec/files/embedded_parent_translation.rb
377
362
  - spec/files/translation.rb
378
363
  - spec/mongify/cli/application_spec.rb
379
- - spec/mongify/cli/help_command_spec.rb
364
+ - spec/mongify/cli/command/help_spec.rb
365
+ - spec/mongify/cli/command/version_spec.rb
380
366
  - spec/mongify/cli/options_spec.rb
381
- - spec/mongify/cli/version_command_spec.rb
382
367
  - spec/mongify/cli/worker_command_spec.rb
383
368
  - spec/mongify/configuration_spec.rb
384
369
  - spec/mongify/database/base_connection_spec.rb
@@ -1,17 +0,0 @@
1
- module Mongify
2
- module CLI
3
- #
4
- # A command to display usage information for this application.
5
- #
6
- class HelpCommand
7
- def initialize(parser)
8
- @parser = parser
9
- end
10
- #Executes the help command
11
- def execute(view)
12
- view.output(@parser.to_s)
13
- view.report_success
14
- end
15
- end
16
- end
17
- end
@@ -1,19 +0,0 @@
1
- require 'mongify/version'
2
- module Mongify
3
- module CLI
4
-
5
- #
6
- # A command to report the application's current version number.
7
- #
8
- class VersionCommand
9
- def initialize(progname)
10
- @progname = progname
11
- end
12
- #Executes version command
13
- def execute(view)
14
- view.output("#{@progname} #{Mongify::VERSION}\n")
15
- view.report_success
16
- end
17
- end
18
- end
19
- end
@@ -1,101 +0,0 @@
1
- module Mongify
2
- module CLI
3
-
4
- #
5
- # A command to run the different commands in the application (related to Mongifying).
6
- #
7
- class WorkerCommand
8
- attr_accessor :view
9
-
10
- # A hash of available commands
11
- # Including description, additional shortcuts to run the commands and requirements to run the command
12
- AVAILABLE_COMMANDS = {
13
- :check => {:commands => ['check', 'ck'], :description => "Checks connection for sql and no_sql databases", :required => [:configuration_file]},
14
- :translation => {:commands => ['translation', 'tr'], :description => "Outputs a translation file from a sql connection", :required => [:configuration_file]},
15
- :process => {:commands => ['process', 'pr'], :description => "Takes a translation and process it to mongodb", :required => [:configuration_file, :translation_file]}
16
- }
17
-
18
- # Prints out a nice display of the list of commands
19
- def self.list_commands
20
- [].tap do |commands|
21
- AVAILABLE_COMMANDS.each do |key, obj|
22
- commands << "#{obj[:commands].map{|w| %["#{w}"]}.to_sentence(:two_words_connector => ' or ', :last_word_connector => ', or ').ljust(25)} >> #{obj[:description]}#{ " [#{obj[:required].join(', ')}]" if obj[:required]}"
23
- end
24
- end.sort
25
- end
26
-
27
- # Finds a command array by any of the shortcut commands
28
- def self.find_command(command)
29
- AVAILABLE_COMMANDS.each do |key, options|
30
- return [key, options] if(options[:commands].include?(command.to_s.downcase))
31
- end
32
- 'unknown'
33
- end
34
-
35
- def initialize(command, config=nil, translation_file=nil, parser="")
36
- @command = command.to_s.downcase
37
- @config = config
38
- @translation_file = translation_file
39
- @parser = parser
40
- end
41
-
42
- #Executes the worked based on a given command
43
- def execute(view)
44
- self.view = view
45
-
46
- current_command, command_options = find_command
47
-
48
- if command_options
49
- #FIXME: Should parse configuration file in this action, (when I know it's required)
50
- raise ConfigurationFileNotFound, "Configuration file is required" if command_options[:required] && command_options[:required].include?(:configuration_file) && @config.nil?
51
- if command_options[:required] && command_options[:required].include?(:translation_file)
52
- raise TranslationFileNotFound, "Translation file is required for command '#{current_command}'" unless @translation_file
53
- raise TranslationFileNotFound, "Unable to find Translation File at #{@translation_file}" unless File.exists?(@translation_file)
54
- @translation = Translation.parse(@translation_file)
55
- end
56
- end
57
-
58
- case current_command
59
- when :translation
60
- check_connections
61
- view.output(Mongify::Translation.load(@config.sql_connection).print)
62
- when :check
63
- view.output("SQL connection works") if check_sql_connection
64
- view.output("NoSQL connection works") if check_nosql_connection
65
- when :process
66
- check_connections
67
- @translation.process(@config.sql_connection, @config.no_sql_connection)
68
- else
69
- view.output("Unknown action #{@command}\n\n#{@parser}")
70
- view.report_error
71
- return
72
- end
73
- view.report_success
74
- end
75
-
76
- # Passes find command to parent class
77
- def find_command(command=@command)
78
- self.class.find_command(command)
79
- end
80
-
81
- #######
82
- private
83
- #######
84
-
85
- # Checks both sql and no sql connection
86
- def check_connections
87
- check_sql_connection && check_nosql_connection
88
- end
89
-
90
- # Checks sql connection if it's valid and has_connection?
91
- def check_sql_connection
92
- @config.sql_connection.valid? && @config.sql_connection.has_connection?
93
- end
94
-
95
- # Checks no sql connection if it's valid and has_connection?
96
- def check_nosql_connection
97
- @config.no_sql_connection.valid? && @config.no_sql_connection.has_connection?
98
- end
99
- end
100
- end
101
- end