class RspecHue

Attributes

bulb_controller[R]
failure_count[R]
output[R]

Public Class Methods

configure_rspec_for_settings() click to toggle source
# File lib/rspec_hue.rb, line 22
def configure_rspec_for_settings
        RSpec.configure do |c|
                c.add_setting :rspec_hue_light_id
                c.add_setting :rspec_hue_ip
                c.add_setting :rspec_hue_failed_color
                c.add_setting :rspec_hue_passed_color
                c.add_setting :rspec_hue_api_user
        end
end
new(output, additional_args = {}) click to toggle source
# File lib/rspec_hue.rb, line 33
def initialize(output, additional_args = {})
        @output = output || StringIO.new
        @additional_args = additional_args
        @failure_count = 0

        @bulb_controller = @additional_args.fetch(:controller) { setup_philips_hue_controller }
end

Public Instance Methods

dump_summary(summary) click to toggle source
# File lib/rspec_hue.rb, line 51
def dump_summary(summary)
        init_bulb_controller

        if failed?
                bulb_controller.failed
        else
                bulb_controller.passed
        end
end
example_failed(notification) click to toggle source
# File lib/rspec_hue.rb, line 47
def example_failed(notification)
  @failure_count += 1
end
example_passed(notification) click to toggle source
# File lib/rspec_hue.rb, line 41
      def example_passed(notification)
end
example_pending(notification) click to toggle source
# File lib/rspec_hue.rb, line 44
def example_pending(notification)
end

Private Instance Methods

failed?() click to toggle source
# File lib/rspec_hue.rb, line 68
def failed?
        @failure_count > 0
end
init_bulb_controller() click to toggle source
# File lib/rspec_hue.rb, line 64
def init_bulb_controller
        @bulb_controller = @additional_args.fetch(:controller) { setup_philips_hue_controller }
end
setup_philips_hue_controller() click to toggle source
# File lib/rspec_hue.rb, line 72
def setup_philips_hue_controller
        options = {
                bulb_id_to_use: ENV["RSPEC_HUE_LIGHT_ID"] || RSpec.configuration.rspec_hue_light_id,
                output: output
        }
        failed_color = RSpec.configuration.rspec_hue_failed_color
        passed_color = RSpec.configuration.rspec_hue_passed_color
        hue_ip = RSpec.configuration.rspec_hue_ip
        api_user = RSpec.configuration.rspec_hue_api_user
        options[:failed_color] = failed_color unless failed_color.nil?
        options[:passed_color] = passed_color unless passed_color.nil?
        options[:hue_ip] = hue_ip unless hue_ip.nil?
        options[:api_user] = api_user unless api_user.nil?
        PhilipsHueController.new options
end