headsail 0.1.11 → 0.1.12

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f1310095ac778210b66e678fcccc0cdce94f0d1a
4
- data.tar.gz: e34ef77b69313be48a40d1829d579aee9243b27e
3
+ metadata.gz: 7cff3d768d1f66dfcc566bcffba3b57079a4c939
4
+ data.tar.gz: 769397d2aaccfc574b68a1082265c0fd559b681b
5
5
  SHA512:
6
- metadata.gz: c0dd492c2bd2090320e5d8f8dc8db5d4fc654fa4ebfdf5dba86de1301f7f2fd876025972347f02f181961111b681d1682f4179b08c9598c96c62c4027b9c966e
7
- data.tar.gz: 690a4c8fafac1f05f63d99d4b483aa2e4dde8992d10327b5a7795b4d41c07b20e40b4b8cfc9ddb8b21a8ef03112d4aa14547fc1f7435cb51a963f576bf49c568
6
+ metadata.gz: c8808ff0aea3de8e240496e803d9d34010b7dbbcf4ad2b8d0a2fe70318dcb26044d57ef0a84ec5768e14a79b7b6596e064e94182433388cea90feb50a2251f04
7
+ data.tar.gz: a95313f9cf3b212b58b40e4bb79af86886a89cfe1457f2d450a8c9986127be0e844b3806b520437438dac71a1939fff72046ded03138a100036e2ec9aac33e16
data/bin/headsail CHANGED
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require 'headsail'
4
- require 'headsail/cli'
5
4
 
6
5
  cli = Headsail::CLI.new(ARGV)
7
6
  cli.run
data/headsail.gemspec CHANGED
@@ -20,4 +20,5 @@ Gem::Specification.new do |spec|
20
20
  spec.add_development_dependency "bundler", "~> 1.11"
21
21
  spec.add_development_dependency "rake", "~> 10.0"
22
22
  spec.add_development_dependency "minitest", "~> 5.0"
23
+ spec.add_development_dependency "byebug", "~> 5.0"
23
24
  end
data/lib/headsail/api.rb CHANGED
@@ -4,10 +4,13 @@ module Headsail
4
4
 
5
5
  def initialize(config)
6
6
  @name = config['name']
7
- @timer = config['timer']
7
+ @timer = config['timer'].to_i
8
8
  @oauth = config['oauth']
9
9
  @method = config['request']['method']
10
10
  @uri = build_uri(config['request'])
11
+ rescue
12
+ Headsail.err('Improper API YAML format.')
13
+ exit 1
11
14
  end
12
15
 
13
16
  private
data/lib/headsail/cli.rb CHANGED
@@ -11,7 +11,6 @@ module Headsail
11
11
  # Creates a new CLI object, parsing the arguments that are passed to it,
12
12
  # and readying a Launcher to be run
13
13
  #
14
- # @param argv [Array] an array of command-line arguments
15
14
  def initialize(argv)
16
15
  @argv = argv
17
16
  @configure = nil
@@ -57,7 +56,7 @@ module Headsail
57
56
  def parse_options
58
57
  @parser.parse!(@argv)
59
58
  rescue
60
- print 'Unsupported Options'
59
+ Headsail.err('Unsupported options entered in CLI.')
61
60
  exit 1
62
61
  end
63
62
  end
@@ -14,6 +14,7 @@ module Headsail
14
14
  def run
15
15
  @tasks.each { |task| @threads << task.run }
16
16
  @threads.map(&:execute)
17
+ Headsail.info('Started up the Headsail Client.')
17
18
  loop { sleep 300 }
18
19
  end
19
20
 
@@ -7,6 +7,9 @@ module Headsail
7
7
 
8
8
  def load_apis(path)
9
9
  @apis = YAML.load_file(path)
10
+ Headsail.info('Loaded API YAML file.')
11
+ rescue
12
+ Headsail.error('Loaded API YAML file.')
10
13
  end
11
14
  end
12
15
  end
@@ -14,6 +14,8 @@ module Headsail
14
14
  def add(data)
15
15
  @connection.incr(next_id_key)
16
16
  @connection.set(new_key, data)
17
+ rescue
18
+ setup_connection
17
19
  end
18
20
 
19
21
  private
@@ -32,6 +34,10 @@ module Headsail
32
34
 
33
35
  def setup_connection
34
36
  @connection = ::Redis.new(url: ENV['REDIS_URL'])
37
+ @connection.ping
38
+ rescue
39
+ Headsail.err("Failed to connect to Redis server at ENV 'REDIS_URL'.")
40
+ exit 1
35
41
  end
36
42
 
37
43
  def setup_service
data/lib/headsail/task.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  require 'concurrent'
2
2
  require 'headsail/api'
3
- require 'headsail/event'
4
3
  require 'headsail/http'
5
4
  require 'headsail/redis'
6
5
 
@@ -10,14 +9,24 @@ module Headsail
10
9
  @api = API.new(config)
11
10
  @redis = Redis.new(@api.name)
12
11
  @http = HTTP.new(@api)
13
- @event = Event.new(@api.name)
12
+ Headsail.info("API Task '#{@api.name}' added.")
14
13
  end
15
14
 
16
15
  def run
17
16
  Concurrent::TimerTask.new(execution_interval: @api.timer) do
18
17
  @redis.add(@http.body) if @http.run
19
- @event.request(@http, @api.method)
18
+ request_message
20
19
  end
21
20
  end
21
+
22
+ private
23
+
24
+ def request_message
25
+ @http.code_status == :SUCCESS ? Headsail.info(msg) : Headsail.err(msg)
26
+ end
27
+
28
+ def msg
29
+ "#{@api.name} / #{@api.method} REQUEST / #{@http.code} - #{@http.code_status.to_s}"
30
+ end
22
31
  end
23
32
  end
@@ -0,0 +1,13 @@
1
+ module Headsail
2
+ def self.log
3
+ @logger ||= Logger.new(STDOUT)
4
+ end
5
+
6
+ def self.info(msg)
7
+ log.info("[ \e[32m#{'OK'}\e[0m ] #{msg}")
8
+ end
9
+
10
+ def self.err(msg)
11
+ log.info("[ \e[31m#{'ERR'}\e[0m ] #{msg}")
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module Headsail
2
- VERSION = "0.1.11"
2
+ VERSION = "0.1.12"
3
3
  end
data/lib/headsail.rb CHANGED
@@ -1 +1,4 @@
1
+ require 'headsail/cli'
2
+ require 'headsail/util'
1
3
  require 'headsail/version'
4
+ require 'byebug'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: headsail
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.11
4
+ version: 0.1.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas Sweeting
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: '5.0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: byebug
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '5.0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '5.0'
97
111
  description: Automated API data retrieval and storage.
98
112
  email:
99
113
  - nsweeting@gmail.com
@@ -118,12 +132,12 @@ files:
118
132
  - lib/headsail/cli.rb
119
133
  - lib/headsail/client.rb
120
134
  - lib/headsail/configure.rb
121
- - lib/headsail/event.rb
122
135
  - lib/headsail/http.rb
123
136
  - lib/headsail/launcher.rb
124
137
  - lib/headsail/oauth.rb
125
138
  - lib/headsail/redis.rb
126
139
  - lib/headsail/task.rb
140
+ - lib/headsail/util.rb
127
141
  - lib/headsail/version.rb
128
142
  homepage:
129
143
  licenses:
@@ -1,15 +0,0 @@
1
- require 'logger'
2
-
3
- module Headsail
4
- class Event
5
- def initialize(event_name)
6
- @event_name = event_name
7
- @logger = Logger.new(STDOUT)
8
- end
9
-
10
- def request(http, method)
11
- message = "#{@event_name} / #{method} REQUEST / #{http.code} - #{http.code_status.to_s}"
12
- @logger.info(message)
13
- end
14
- end
15
- end