skylight 0.0.14 → 0.0.15

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.
@@ -8,8 +8,8 @@ require "active_support/inflector"
8
8
 
9
9
  module Skylight
10
10
  class CLI < Thor
11
- desc "create", "Create a new app"
12
- def create
11
+ desc "setup", "Sets up a new app"
12
+ def setup
13
13
  if !SanityChecker.new.smoke_test(File.expand_path("config/skylight.yml"))
14
14
  say "Your app is already on Skylight. http://www.skylight.io", :green
15
15
  return
@@ -53,12 +53,12 @@ module Skylight
53
53
 
54
54
  loop do
55
55
  h = HighLine.new
56
- username = h.ask("Username: ")
56
+ email = h.ask("Email: ")
57
57
  password = h.ask("Password: ") { |q| q.echo = "*" }
58
58
 
59
- response = Util::HTTP.new(http_config).auth(username, password)
59
+ response = Util::HTTP.new(http_config).auth(email, password)
60
60
  if response["authenticated"] == false
61
- say "Sorry. That username and password was invalid. Please try again", :red
61
+ say "Sorry. That email and password was invalid. Please try again", :red
62
62
  puts
63
63
  else
64
64
  token = response["token"]
@@ -7,6 +7,14 @@ module Skylight
7
7
  class Normalizer < Struct.new(:view_paths)
8
8
  end
9
9
 
10
+ # Stub out the GC Profiler in cases when it is not requested
11
+ GC_PROFILER_STUB = Struct.new(
12
+ :enable,
13
+ :disable,
14
+ :clear,
15
+ :total_time).
16
+ new(nil, nil, nil, 0)
17
+
10
18
  class << self
11
19
  def load_from_yaml(path, env=ENV)
12
20
  new do |config|
@@ -48,12 +56,14 @@ module Skylight
48
56
  end
49
57
 
50
58
  def initialize(attrs = {})
59
+ # Set defaults
51
60
  @ssl = true
52
61
  @deflate = true
53
62
  @host = "agent.skylight.io"
54
63
  @port = 443
55
64
  @interval = 5
56
65
  @protocol = JsonProto.new(self)
66
+ @enable_gc_profiler = true
57
67
  @max_pending_traces = 500
58
68
  @samples_per_interval = 100
59
69
 
@@ -68,48 +78,48 @@ module Skylight
68
78
  end
69
79
  end
70
80
 
71
- @http ||= Util::HTTP.new(self)
72
- @gc_profiler ||= GC::Profiler
73
-
74
81
  yield self if block_given?
75
- end
76
82
 
77
- attr_accessor :yaml_file
78
- attr_accessor :authentication_token
79
- attr_accessor :app_id
83
+ @http ||= Util::HTTP.new(self)
80
84
 
81
- attr_accessor :ssl
82
- alias_method :ssl?, :ssl
85
+ unless @gc_profiler
86
+ if enable_gc_profiler && GC::Profiler.respond_to?(:enable)
87
+ @gc_profiler = GC::Profiler
88
+ else
89
+ @gc_profiler = GC_PROFILER_STUB
90
+ end
91
+ end
92
+ end
83
93
 
84
- attr_accessor :deflate
94
+ attr_accessor :yaml_file,
95
+ :authentication_token,
96
+ :app_id,
97
+ :ssl,
98
+ :deflate,
99
+ :host,
100
+ :port,
101
+ :http,
102
+ :samples_per_interval,
103
+ :interval,
104
+ :max_pending_traces,
105
+ :normalizer,
106
+ :protocol,
107
+ :logger,
108
+ :enable_gc_profiler,
109
+ :gc_profiler
110
+
111
+ alias_method :ssl?, :ssl
85
112
  alias_method :deflate?, :deflate
86
113
 
87
- attr_accessor :host
88
-
89
- attr_accessor :port
90
-
91
- attr_accessor :http
92
-
93
- attr_accessor :samples_per_interval
94
-
95
- attr_accessor :interval
96
-
97
- attr_accessor :max_pending_traces
98
-
99
- attr_reader :normalizer
100
-
101
- attr_reader :protocol
102
-
103
114
  def protocol=(val)
104
115
  if val.is_a?(String) || val.is_a?(Symbol)
105
116
  class_name = val.to_s.capitalize+"Proto"
106
117
  val = Skylight.const_get(class_name).new(self)
107
118
  end
119
+
108
120
  @protocol = val
109
121
  end
110
122
 
111
- attr_accessor :logger
112
-
113
123
  def log_level
114
124
  logger && logger.level
115
125
  end
@@ -123,13 +133,6 @@ module Skylight
123
133
  end
124
134
  end
125
135
 
126
- attr_writer :gc_profiler
127
-
128
- def gc_profiler
129
- # TODO: Move this into tests
130
- @gc_profiler ||= Struct.new(:enable, :disable, :clear, :total_time).new(nil, nil, nil, 0)
131
- end
132
-
133
136
  def save(filename=yaml_file)
134
137
  FileUtils.mkdir_p File.dirname(filename)
135
138
 
@@ -58,7 +58,8 @@ module Skylight
58
58
 
59
59
  self
60
60
 
61
- rescue
61
+ rescue Exception => e
62
+ error(e.message)
62
63
  nil
63
64
  end
64
65
 
@@ -16,9 +16,9 @@ module Skylight
16
16
  @config = config
17
17
  end
18
18
 
19
- def auth(username, password)
19
+ def auth(email, password)
20
20
  req = Net::HTTP::Get.new("/login")
21
- req.basic_auth username, password
21
+ req.basic_auth email, password
22
22
  response = make_request(req, nil, ACCEPT => APPLICATION_JSON)
23
23
  JSON.parse(response)
24
24
  end
@@ -1,3 +1,3 @@
1
1
  module Skylight
2
- VERSION = '0.0.14'
2
+ VERSION = '0.0.15'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: skylight
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.15
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: