flydata 0.0.1.2011101801 → 0.0.1.2011102301

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1.2011101801
1
+ 0.0.1.2011102301
data/flydata.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "flydata"
8
- s.version = "0.0.1.2011101801"
8
+ s.version = "0.0.1.2011102301"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Koichi Fujikawa"]
12
- s.date = "2012-10-19"
12
+ s.date = "2012-10-23"
13
13
  s.description = "FlyData Command Line Interface"
14
14
  s.email = "sysadmin@flydata.co"
15
15
  s.executables = ["flydata"]
@@ -29,11 +29,15 @@ Gem::Specification.new do |s|
29
29
  "lib/flydata/api_client.rb",
30
30
  "lib/flydata/cli.rb",
31
31
  "lib/flydata/command/base.rb",
32
+ "lib/flydata/command/crontab.rb",
32
33
  "lib/flydata/command/login.rb",
33
34
  "lib/flydata/command/routine.rb",
34
35
  "lib/flydata/command/sender.rb",
36
+ "lib/flydata/command/setlogdel.rb",
35
37
  "lib/flydata/command/setup.rb",
36
38
  "lib/flydata/credentials.rb",
39
+ "lib/flydata/cron.rb",
40
+ "lib/flydata/flydata_crontab.sh",
37
41
  "lib/flydata/helpers.rb",
38
42
  "lib/flydata/log_monitor.rb",
39
43
  "lib/flydata/proxy.rb",
@@ -45,7 +49,7 @@ Gem::Specification.new do |s|
45
49
  s.homepage = "http://flydata.co/"
46
50
  s.licenses = ["All right reserved."]
47
51
  s.require_paths = ["lib"]
48
- s.rubygems_version = "1.8.15"
52
+ s.rubygems_version = "1.8.23"
49
53
  s.summary = "FlyData CLI"
50
54
 
51
55
  if s.respond_to? :specification_version then
@@ -5,7 +5,7 @@ module Flydata
5
5
  @client = api_client
6
6
  end
7
7
  def list(params={})
8
- JSON.parse(@client.get(@url_path))
8
+ @client.get(@url_path)
9
9
  end
10
10
  def create(params={})
11
11
  params.each {|k, v| @url_path.gsub!(/:#{k}/, v.to_s)}
@@ -1,14 +1,16 @@
1
1
  require 'rest_client'
2
+ require 'singleton'
2
3
 
3
4
  module Flydata
4
5
  FLYDATA_API_HOST = ENV['FLYDATA_API_HOST'] || 'flydata.co'
5
6
 
6
7
  class ApiClient
8
+ include Singleton
7
9
  attr_reader :response
8
10
  attr_accessor :credentials
9
11
 
10
- def initialize(credentials=nil)
11
- @credentials = credentials || Flydata::Credentials.new
12
+ def initialize
13
+ @credentials = Flydata::Credentials.new
12
14
  end
13
15
 
14
16
  # row level api
@@ -16,11 +18,19 @@ module Flydata
16
18
  uri = "http://#{FLYDATA_API_HOST}#{path}"
17
19
  resource = RestClient::Resource.new(uri, resource_opts)
18
20
  @response = resource.post(params, :accept => :json)
21
+ handle_response response
22
+ end
23
+ def put(path, params=nil)
24
+ uri = "http://#{FLYDATA_API_HOST}#{path}"
25
+ resource = RestClient::Resource.new(uri, resource_opts)
26
+ @response = resource.put(params, :accept => :json)
27
+ handle_response response
19
28
  end
20
29
  def get(path)
21
30
  uri = "http://#{FLYDATA_API_HOST}#{path}"
22
31
  resource = RestClient::Resource.new(uri, resource_opts)
23
32
  @response = resource.get(:accept => :json)
33
+ handle_response response
24
34
  end
25
35
 
26
36
  # high level api
@@ -32,6 +42,14 @@ module Flydata
32
42
  def respond_to_missing?(method_name, include_private=false); true end
33
43
 
34
44
  private
45
+ def handle_response(response)
46
+ json_response = JSON.parse(response)
47
+ if json_response.class == Hash and json_response["success"] == false
48
+ err_msg = json_response['errors'] ? json_response['errors'].to_s : "Unkown error."
49
+ raise err_msg
50
+ end
51
+ json_response
52
+ end
35
53
  def resource_opts
36
54
  {:user => @credentials.user, :password => @credentials.password}
37
55
  end
@@ -2,9 +2,34 @@ module Flydata
2
2
  module Command
3
3
  class Base
4
4
  def initialize
5
- @api_client = ApiClient.new
5
+ @api_client = ApiClient.instance
6
6
  end
7
7
  def flydata; @api_client end
8
+
9
+ # retrieve models on servers
10
+ def retrieve_data_entries
11
+ data_entries = flydata.get('/data_entries')
12
+ unless flydata.response.code == 200 && data_entries.size > 0
13
+ raise "Failed to retrieve data_entries"
14
+ end
15
+ data_entries
16
+ end
17
+
18
+ # print console
19
+ def newline; puts end
20
+ def ask_yes_no(message)
21
+ loop do
22
+ ans = ask("#{message} (yes/no): ")
23
+ if ans.size > 0
24
+ case ans[0].downcase
25
+ when 'y'; return true
26
+ when 'n'; return false
27
+ end
28
+ end
29
+ say(" ! Please answer y[es] or n[o]")
30
+ newline
31
+ end
32
+ end
8
33
  end
9
34
  end
10
35
  end
@@ -0,0 +1,9 @@
1
+ module Flydata
2
+ module Command
3
+ class Crontab < Base
4
+ def run(args='')
5
+ Flydata::Cron.new.update args
6
+ end
7
+ end
8
+ end
9
+ end
@@ -8,20 +8,20 @@ module Flydata
8
8
  log_paths = retrieve_log_paths
9
9
  log_paths and log_paths.size() > 0 and log_paths.each { |path|
10
10
  if File.exist?(path) and File.writable?(path)
11
+ puts "Start - #{path}. "
11
12
  Flydata::LogMonitor.new(path).setup.rotate
12
13
  else
13
- puts "Skip - #{path}. System cannot access this path."
14
+ puts "Skip - #{path}. System cannot access this path."
14
15
  end
15
16
  }
16
17
  end
17
18
 
18
19
  private
19
20
  def retrieve_log_paths
20
- data_entries = JSON.parse(flydata.get('/data_entries'))
21
- unless flydata.response.code == 200 && data_entries.size > 0
22
- raise "Failed to retrieve data_ports ids"
23
- end
24
- data_entries.map {|e| e["log_path"]}
21
+ data_entries = retrieve_data_entries
22
+ data_entries.map {|e|
23
+ e['log_path'] if e['log_deletion']
24
+ }.compact
25
25
  end
26
26
  end
27
27
  end
@@ -0,0 +1,67 @@
1
+ module Flydata
2
+ module Command
3
+ class Setlogdel < Base
4
+ def run
5
+ Flydata::Command::Login.new.run unless flydata.credentials.authenticated?
6
+ # Choose target data_entry
7
+ data_entry = choose_data_entry
8
+ return unless data_entry
9
+ # Confirm and update
10
+ if confirm_setting data_entry
11
+ set_log_deletion data_entry
12
+ end
13
+ end
14
+
15
+ private
16
+ def choose_data_entry
17
+ data_entries = retrieve_data_entries
18
+ choices = data_entries.map {|e|
19
+ "#{e['log_path']}\t\t -- Log deletion:#{boolToOnOff e['log_deletion']}"
20
+ }
21
+ choices << "Cancel"
22
+
23
+ choice = nil
24
+ say('Please select your log path for setting log deletion.')
25
+ newline
26
+ choose do |menu|
27
+ menu.index = :letter
28
+ menu.index_suffix = ") "
29
+ menu.prompt = "Select item to change log deletion setting: "
30
+ menu.choices(*choices) {|item| choice = item.split(' ')[0]}
31
+ end
32
+ newline
33
+ data_entries.select{|e| e['log_path'] == choice}.first
34
+ end
35
+ def confirm_setting(data_entry)
36
+ cur_flag = data_entry['log_deletion']
37
+ loop do
38
+ say "Target log path: #{data_entry['log_path']}"
39
+ say "Now changing log deletion setting: #{boolToOnOff cur_flag} -> #{boolToOnOff !cur_flag}"
40
+ ans = ask "Are you sure? (yes/no): "
41
+ if ans.size > 0
42
+ case ans[0].downcase
43
+ when 'y'; return true
44
+ when 'n'; return false
45
+ end
46
+ end
47
+ say " ! Please answer y[es] or n[o]"
48
+ newline
49
+ end
50
+ end
51
+ def boolToOnOff(bool)
52
+ bool ? 'ON' : 'OFF'
53
+ end
54
+ def set_log_deletion(data_entry)
55
+ param = {
56
+ :data_entry => {
57
+ 'log_deletion' => !data_entry['log_deletion']
58
+ }
59
+ }
60
+ url = "/data_entries/#{data_entry['id']}"
61
+ ret = flydata.put(url, param)
62
+ raise 'Failed to update the log deletion setting.' unless ret['success']
63
+ puts "Update succeeded!"
64
+ end
65
+ end
66
+ end
67
+ end
@@ -22,7 +22,7 @@ module Flydata
22
22
  path = choose_log_path_from_examples
23
23
  case path
24
24
  when OTHER; ask_log_path
25
- else; create_log_entry(path)
25
+ else; create_log_entry(path, ask_log_deletion)
26
26
  end
27
27
  newline
28
28
  end while more_entry?
@@ -57,27 +57,22 @@ module Flydata
57
57
  say(" ! #{path} is not a readable file!")
58
58
  newline
59
59
  end
60
- create_log_entry(path)
60
+ create_log_entry(path, ask_log_deletion)
61
61
  end
62
- def create_log_entry(path)
62
+ def ask_log_deletion
63
+ say("** Log deletion setting **")
64
+ say("Flydata has a log deletion feature that flydata will delete old log archives uploaded by flydata automatically.")
65
+ say("Flydata will delete logs whose last modified timestamp is 7 days ago.")
66
+ ask_yes_no("Set auto log deletion mode?")
67
+ end
68
+ def create_log_entry(path, log_deletion)
63
69
  data_port = flydata.data_port.get
64
- flydata.data_entry.create(data_port_id: data_port['id'], log_path: path)
70
+ flydata.data_entry.create(data_port_id: data_port['id'], log_path: path, log_deletion: log_deletion)
65
71
  say("Process successfuly!") if flydata.response.code == 200
66
72
  end
67
73
  def more_entry?
68
- loop do
69
- ans = ask("Do you want to add more log path? (yes/no): ")
70
- if ans.size > 0
71
- case ans[0].downcase
72
- when 'y'; return true
73
- when 'n'; return false
74
- end
75
- end
76
- say(" ! Please answer y[es] or n[o]")
77
- newline
78
- end
74
+ ask_yes_no("Do you want to add more log path?")
79
75
  end
80
- def newline; puts end
81
76
  end
82
77
  end
83
78
  end
@@ -0,0 +1,14 @@
1
+ module Flydata
2
+ class Cron
3
+ CRON_SETTING_SHELL=File.join(
4
+ File.expand_path(File.dirname(__FILE__)),
5
+ "flydata_crontab.sh")
6
+ def initialize
7
+ end
8
+ def update(option=nil)
9
+ arg = option ? option : ''
10
+ ret = system("sh " + CRON_SETTING_SHELL + " " + arg)
11
+ raise "Failed to update crontab." unless ret
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,119 @@
1
+ #!/bin/bash
2
+
3
+ # Usage:
4
+ # flydata_crontab
5
+
6
+ ######## Parameters
7
+ FLYDATA_HOME=~/".flydata"
8
+ CRON_TMP_PATH="$FLYDATA_HOME/cron_list.tmp"
9
+ CRON_BACKUP_PATH="$FLYDATA_HOME/cron_list.back"
10
+ LOG_PATH="$FLYDATA_HOME/flydata_cron.log"
11
+ ROUTINE_COMMAND="flydata routine >> $LOG_PATH 2>&1"
12
+ #ROUTINE_COMMAND="bundle exec "~/"github/hapyrus/flydata/cli/bin/""flydata routine >> $LOG_PATH 2>&1"
13
+ CRON_LINE='15 4 * * *'" $ROUTINE_COMMAND"
14
+ #CRON_LINE='* * * * *'" $ROUTINE_COMMAND"
15
+
16
+ ARG=$1
17
+ REMOVE_OPTION="-r"
18
+ CRON_SETTING_DONE=0 # flag
19
+
20
+
21
+ ######## Functions
22
+ check_flydata_setup_done()
23
+ {
24
+ which flydata > /dev/null
25
+ if [ "$?" -ne "0" ]; then
26
+ echo "flydata command not found. Flydata setup has not been done, yet."
27
+ exit -1
28
+ fi
29
+ if [ ! -w $FLYDATA_HOME ]; then
30
+ echo "Flydata setup has not been done, yet. Run setup command."
31
+ echo " -> flydata setup"
32
+ exit -1
33
+ fi
34
+ }
35
+
36
+ check_crontab_commnad()
37
+ {
38
+ which crontab > /dev/null
39
+ if [ "$?" -ne "0" ]; then
40
+ echo "No crontab command. Please install cron."
41
+ exit -2
42
+ fi
43
+ }
44
+
45
+ check_crond_process()
46
+ {
47
+ crond_exist=`ps aux | grep crond | grep -v grep | wc -l`
48
+ echo $crond_exist
49
+ if [ "$crond_exist" -ne "1" ]; then
50
+ echo "No crond process. Please start crond process."
51
+ exit -3
52
+ fi
53
+ }
54
+
55
+ dump_cron_setting()
56
+ {
57
+ crontab -l > $CRON_BACKUP_PATH
58
+ if [ "$?" -ne "0" ]; then
59
+ echo "Cannot dump cron settings. "
60
+ echo "Please install "
61
+ exit -4
62
+ fi
63
+ }
64
+
65
+ check_cron_setting()
66
+ {
67
+ CRON_SETTING_DONE=`cat $CRON_BACKUP_PATH | grep "flydata routine" | wc -l`
68
+ if [ "$?" -ne "0" ]; then
69
+ echo "Failed to check cron setting file."
70
+ exit -5
71
+ fi
72
+ }
73
+
74
+ add_cron_setting()
75
+ {
76
+ cat $CRON_BACKUP_PATH > $CRON_TMP_PATH
77
+ echo "$CRON_LINE" >> $CRON_TMP_PATH
78
+ crontab $CRON_TMP_PATH
79
+ if [ "$?" -ne "0" ]; then
80
+ echo "Failed to register flydata routine job."
81
+ exit -6
82
+ fi
83
+ }
84
+
85
+ remove_cron_setting()
86
+ {
87
+ cat "$CRON_BACKUP_PATH" | grep -v "flydata routine" > $CRON_TMP_PATH
88
+ crontab $CRON_TMP_PATH
89
+ if [ "$?" -ne "0" ]; then
90
+ echo "Failed to remove flydata routine job."
91
+ exit -7
92
+ fi
93
+ }
94
+
95
+
96
+ ######## Main
97
+ ARG="$1"
98
+ check_flydata_setup_done
99
+ check_crontab_commnad
100
+ # check_crond_process
101
+ dump_cron_setting
102
+ check_cron_setting
103
+
104
+ # Skip If add mode and registered
105
+ if [[ "$ARG" != "$REMOVE_OPTION" && $CRON_SETTING_DONE -gt 0 ]]; then
106
+ echo "Skip. Already cron setup done."
107
+ exit 0
108
+ fi
109
+
110
+ # Remove mode -> remove setting
111
+ if [ "$ARG" == "$REMOVE_OPTION" ]; then
112
+ remove_cron_setting
113
+ exit 0
114
+ fi
115
+
116
+ # Add mode -> add setting
117
+ add_cron_setting
118
+ echo "Updated crontab to manage the deletion of your log data."
119
+ exit 0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flydata
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.2011101801
4
+ version: 0.0.1.2011102301
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-19 00:00:00.000000000Z
12
+ date: 2012-10-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
16
- requirement: &70220409278880 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70220409278880
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: i18n
27
- requirement: &70220409278380 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ! '>='
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: '0'
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70220409278380
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: activesupport
38
- requirement: &70220409277880 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ! '>='
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: '0'
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *70220409277880
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: json
49
- requirement: &70220409277360 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ! '>='
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: '0'
55
70
  type: :runtime
56
71
  prerelease: false
57
- version_requirements: *70220409277360
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: highline
60
- requirement: &70220409276860 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :runtime
67
87
  prerelease: false
68
- version_requirements: *70220409276860
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: fluentd
71
- requirement: &70220409276380 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ! '>='
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: '0'
77
102
  type: :runtime
78
103
  prerelease: false
79
- version_requirements: *70220409276380
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
80
110
  - !ruby/object:Gem::Dependency
81
111
  name: bundler
82
- requirement: &70220409275880 !ruby/object:Gem::Requirement
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ! '>='
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '0'
88
118
  type: :development
89
119
  prerelease: false
90
- version_requirements: *70220409275880
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: jeweler
93
- requirement: &70220409275400 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ! '>='
@@ -98,10 +133,15 @@ dependencies:
98
133
  version: '0'
99
134
  type: :development
100
135
  prerelease: false
101
- version_requirements: *70220409275400
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
102
142
  - !ruby/object:Gem::Dependency
103
143
  name: rspec
104
- requirement: &70220409274900 !ruby/object:Gem::Requirement
144
+ requirement: !ruby/object:Gem::Requirement
105
145
  none: false
106
146
  requirements:
107
147
  - - ! '>='
@@ -109,10 +149,15 @@ dependencies:
109
149
  version: '0'
110
150
  type: :development
111
151
  prerelease: false
112
- version_requirements: *70220409274900
152
+ version_requirements: !ruby/object:Gem::Requirement
153
+ none: false
154
+ requirements:
155
+ - - ! '>='
156
+ - !ruby/object:Gem::Version
157
+ version: '0'
113
158
  - !ruby/object:Gem::Dependency
114
159
  name: autotest
115
- requirement: &70220409274420 !ruby/object:Gem::Requirement
160
+ requirement: !ruby/object:Gem::Requirement
116
161
  none: false
117
162
  requirements:
118
163
  - - ! '>='
@@ -120,10 +165,15 @@ dependencies:
120
165
  version: '0'
121
166
  type: :development
122
167
  prerelease: false
123
- version_requirements: *70220409274420
168
+ version_requirements: !ruby/object:Gem::Requirement
169
+ none: false
170
+ requirements:
171
+ - - ! '>='
172
+ - !ruby/object:Gem::Version
173
+ version: '0'
124
174
  - !ruby/object:Gem::Dependency
125
175
  name: autotest-standalone
126
- requirement: &70220409273940 !ruby/object:Gem::Requirement
176
+ requirement: !ruby/object:Gem::Requirement
127
177
  none: false
128
178
  requirements:
129
179
  - - ! '>='
@@ -131,10 +181,15 @@ dependencies:
131
181
  version: '0'
132
182
  type: :development
133
183
  prerelease: false
134
- version_requirements: *70220409273940
184
+ version_requirements: !ruby/object:Gem::Requirement
185
+ none: false
186
+ requirements:
187
+ - - ! '>='
188
+ - !ruby/object:Gem::Version
189
+ version: '0'
135
190
  - !ruby/object:Gem::Dependency
136
191
  name: autotest-notification
137
- requirement: &70220409273460 !ruby/object:Gem::Requirement
192
+ requirement: !ruby/object:Gem::Requirement
138
193
  none: false
139
194
  requirements:
140
195
  - - ! '>='
@@ -142,10 +197,15 @@ dependencies:
142
197
  version: '0'
143
198
  type: :development
144
199
  prerelease: false
145
- version_requirements: *70220409273460
200
+ version_requirements: !ruby/object:Gem::Requirement
201
+ none: false
202
+ requirements:
203
+ - - ! '>='
204
+ - !ruby/object:Gem::Version
205
+ version: '0'
146
206
  - !ruby/object:Gem::Dependency
147
207
  name: ZenTest
148
- requirement: &70220409272980 !ruby/object:Gem::Requirement
208
+ requirement: !ruby/object:Gem::Requirement
149
209
  none: false
150
210
  requirements:
151
211
  - - ! '>='
@@ -153,7 +213,12 @@ dependencies:
153
213
  version: '0'
154
214
  type: :development
155
215
  prerelease: false
156
- version_requirements: *70220409272980
216
+ version_requirements: !ruby/object:Gem::Requirement
217
+ none: false
218
+ requirements:
219
+ - - ! '>='
220
+ - !ruby/object:Gem::Version
221
+ version: '0'
157
222
  description: FlyData Command Line Interface
158
223
  email: sysadmin@flydata.co
159
224
  executables:
@@ -176,11 +241,15 @@ files:
176
241
  - lib/flydata/api_client.rb
177
242
  - lib/flydata/cli.rb
178
243
  - lib/flydata/command/base.rb
244
+ - lib/flydata/command/crontab.rb
179
245
  - lib/flydata/command/login.rb
180
246
  - lib/flydata/command/routine.rb
181
247
  - lib/flydata/command/sender.rb
248
+ - lib/flydata/command/setlogdel.rb
182
249
  - lib/flydata/command/setup.rb
183
250
  - lib/flydata/credentials.rb
251
+ - lib/flydata/cron.rb
252
+ - lib/flydata/flydata_crontab.sh
184
253
  - lib/flydata/helpers.rb
185
254
  - lib/flydata/log_monitor.rb
186
255
  - lib/flydata/proxy.rb
@@ -203,7 +272,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
203
272
  version: '0'
204
273
  segments:
205
274
  - 0
206
- hash: 1202166163575531449
275
+ hash: -1416744833933020924
207
276
  required_rubygems_version: !ruby/object:Gem::Requirement
208
277
  none: false
209
278
  requirements:
@@ -212,7 +281,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
212
281
  version: '0'
213
282
  requirements: []
214
283
  rubyforge_project:
215
- rubygems_version: 1.8.15
284
+ rubygems_version: 1.8.23
216
285
  signing_key:
217
286
  specification_version: 3
218
287
  summary: FlyData CLI