headsail 0.1.11 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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