Module: Flydata::Helpers
- Included in:
- ApiClient, Cli, Command::Setup, Command::Sync, Credentials
- Defined in:
- lib/flydata/helpers.rb
Constant Summary collapse
- @@development_mode =
nil
Class Method Summary collapse
- .development? ⇒ Boolean
- .env_mode ⇒ Object
- .env_suffix ⇒ Object
- .flydata_api_host_file ⇒ Object
- .flydata_conf_file ⇒ Object
-
.format_menu_list(menu_list) ⇒ Object
format text.
- .parse_command(cmd) ⇒ Object
- .print_usage ⇒ Object
-
.retry_on(exception = StandardError, try_count = 3, interval = 1.0) ⇒ Object
Retry the given block if
exception
happens. - .to_command_class(class_name) ⇒ Object
- .usage_text ⇒ Object
Class Method Details
.development? ⇒ Boolean
51 52 53 54 |
# File 'lib/flydata/helpers.rb', line 51 def development? return @@development_mode unless @@development_mode.nil? @@development_mode = !!(File.open(flydata_conf_file).first.strip.end_with?('dev')) end |
.env_mode ⇒ Object
56 57 58 |
# File 'lib/flydata/helpers.rb', line 56 def env_mode development? ? 'dev' : '' end |
.env_suffix ⇒ Object
60 61 62 |
# File 'lib/flydata/helpers.rb', line 60 def env_suffix development? ? '_dev' : '' end |
.flydata_api_host_file ⇒ Object
80 81 82 |
# File 'lib/flydata/helpers.rb', line 80 def flydata_api_host_file File.join(FLYDATA_HOME, 'flydata_api_host') end |
.flydata_conf_file ⇒ Object
84 85 86 |
# File 'lib/flydata/helpers.rb', line 84 def flydata_conf_file File.join(FLYDATA_HOME, 'flydata.conf') end |
.format_menu_list(menu_list) ⇒ Object
format text
65 66 67 68 69 70 71 72 73 74 75 76 77 78 |
# File 'lib/flydata/helpers.rb', line 65 def () max_length_list = .inject(Array.new(.first.size, 0)) do |ml, | 0.upto(.size - 1) do |i| ml[i] = [i].length if ml[i] < [i].length end ml end = .collect do || 0.upto(.size - 1).inject("") do |str, i| str = "#{str}#{[i].ljust(max_length_list[i] + 1, ' ')}" end end end |
.parse_command(cmd) ⇒ Object
5 6 7 8 9 10 11 12 13 |
# File 'lib/flydata/helpers.rb', line 5 def parse_command(cmd) klass = Flydata::Command::Base method = cmd if cmd.include?(':') class_name, method = cmd.split(':') klass = to_command_class(class_name) end [klass, method] end |
.print_usage ⇒ Object
15 16 17 |
# File 'lib/flydata/helpers.rb', line 15 def print_usage puts usage_text end |
.retry_on(exception = StandardError, try_count = 3, interval = 1.0) ⇒ Object
Retry the given block if exception
happens
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# File 'lib/flydata/helpers.rb', line 89 def retry_on(exception = StandardError, try_count = 3, interval = 1.0) count = 0 begin count += 1 yield rescue exception if count < try_count sleep interval interval *= 2 retry else raise end end end |
.to_command_class(class_name) ⇒ Object
47 48 49 |
# File 'lib/flydata/helpers.rb', line 47 def to_command_class(class_name) eval("Flydata::Command::#{class_name.camelcase}") end |
.usage_text ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/flydata/helpers.rb', line 19 def usage_text text = "" text += '-' * 64 text += "\n" text += <<-EOM Usage: flydata COMMAND setup # setup initially start # start flydata process stop # stop flydata process restart # restart flydata process status # check flydata process conf # show configuration sync # initial sync(only for mysql database) If you encountered login or any other errors during setup, please setup flydata again by following commands. source ~/.bashrc flydata setup You can check the logs of sender(flydata) process. Log path: #{File.join(FLYDATA_HOME, 'flydata.log')} EOM text += "\n" text += '-' * 64 text += "\n" text end |