Module: Flydata::Helpers
- Included in:
- ApiClient, Cli, Command::Setup, Command::Sync, Command::Version, Credentials
- Defined in:
- lib/flydata/helpers.rb
Constant Summary collapse
- UNIT_PREFIX =
%W(TB GB MB KB B).freeze
- @@development_mode =
nil
Class Method Summary collapse
- .as_size(s) ⇒ Object
- .development? ⇒ Boolean
- .env_mode ⇒ Object
- .env_suffix ⇒ Object
- .flydata_api_host_file ⇒ Object
- .flydata_conf_file ⇒ Object
- .flydata_version ⇒ Object
-
.format_menu_list(menu_list) ⇒ Object
format text.
-
.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
.as_size(s) ⇒ Object
92 93 94 95 96 97 98 99 100 |
# File 'lib/flydata/helpers.rb', line 92 def as_size( s ) s = s.to_f i = UNIT_PREFIX.length - 1 while s > 512 && i > 0 s /= 1024 i -= 1 end ((s > 9 || s.modulo(1) < 0.1 ? '%d' : '%.1f') % s) + ' ' + UNIT_PREFIX[i] end |
.development? ⇒ Boolean
37 38 39 40 |
# File 'lib/flydata/helpers.rb', line 37 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
42 43 44 |
# File 'lib/flydata/helpers.rb', line 42 def env_mode development? ? 'dev' : '' end |
.env_suffix ⇒ Object
46 47 48 |
# File 'lib/flydata/helpers.rb', line 46 def env_suffix development? ? '_dev' : '' end |
.flydata_api_host_file ⇒ Object
66 67 68 |
# File 'lib/flydata/helpers.rb', line 66 def flydata_api_host_file File.join(FLYDATA_HOME, 'flydata_api_host') end |
.flydata_conf_file ⇒ Object
70 71 72 |
# File 'lib/flydata/helpers.rb', line 70 def flydata_conf_file File.join(FLYDATA_HOME, 'flydata.conf') end |
.flydata_version ⇒ Object
29 30 31 |
# File 'lib/flydata/helpers.rb', line 29 def flydata_version IO.read(VERSION_PATH).strip end |
.format_menu_list(menu_list) ⇒ Object
format text
51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/flydata/helpers.rb', line 51 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 |
.retry_on(exception = StandardError, try_count = 3, interval = 1.0) ⇒ Object
Retry the given block if exception
happens
75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 |
# File 'lib/flydata/helpers.rb', line 75 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
33 34 35 |
# File 'lib/flydata/helpers.rb', line 33 def to_command_class(class_name) eval("Flydata::Command::#{class_name.camelcase}") end |
.usage_text ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/flydata/helpers.rb', line 5 def usage_text text = "" text += '-' * 64 text += "\n" text += <<-EOM Usage: flydata COMMAND start # start flydata process stop # stop flydata process restart # restart flydata process status # check flydata process version # show flydata version conf # show configuration sync [tables] # initial sync (only for mysql database) sync:generate_table_ddl [tables | -all-tables] # Generate CREATE TABLE script for Redshift sync:reset [tables] # reset sync and stop flydata process sync:flush # flush your current buffer and stop flydata process EOM text += "\n" text += '-' * 64 text += "\n" text end |