Module: Simulacrum

Defined in:
lib/simulacrum.rb,
lib/simulacrum/cli.rb,
lib/simulacrum/diff.rb,
lib/simulacrum/driver.rb,
lib/simulacrum/runner.rb,
lib/simulacrum/methods.rb,
lib/simulacrum/version.rb,
lib/simulacrum/matchers.rb,
lib/simulacrum/renderer.rb,
lib/simulacrum/component.rb,
lib/simulacrum/cli/parser.rb,
lib/simulacrum/comparator.rb,
lib/simulacrum/diff/rmagick.rb,
lib/simulacrum/configuration.rb

Overview

Package information

Defined Under Namespace

Modules: CLI, Matchers, Methods Classes: Comparator, Component, Configuration, Diff, Driver, RMagicDiff, Renderer, Runner

Constant Summary collapse

CONFIG_FILE =
'./.simulacrum.yml'
PACKAGE =
'simulacrum'
VERSION =
'0.3.2'

Class Method Summary collapse

Class Method Details

.componentsObject



23
24
25
# File 'lib/simulacrum.rb', line 23

def components
  @components
end

.config_fileObject



57
58
59
# File 'lib/simulacrum.rb', line 57

def config_file
  YAML.load_file(Simulacrum.config_file_path)
end

.config_file?Boolean

Returns:

  • (Boolean)


62
63
64
# File 'lib/simulacrum.rb', line 62

def config_file?
  File.exist?(Simulacrum.config_file_path)
end

.config_file_pathObject



67
68
69
70
71
72
73
# File 'lib/simulacrum.rb', line 67

def config_file_path
  if defined? Rails
    Rails.root.join(CONFIG_FILE)
  else
    CONFIG_FILE
  end
end

.configurationObject



28
29
30
# File 'lib/simulacrum.rb', line 28

def configuration
  @configuration
end

.configure {|options| ... } ⇒ Object

Yields:

  • (options)


50
51
52
53
54
# File 'lib/simulacrum.rb', line 50

def configure(&block)
  options = OpenStruct.new(component: OpenStruct.new)
  yield options
  configuration.configure(options.to_h)
end

.configure_loggerObject



93
94
95
# File 'lib/simulacrum.rb', line 93

def self.configure_logger
  @logger.level = @runner_options.verbose ? Logger::DEBUG : Logger::INFO
end

.configure_runnerObject



76
77
78
79
80
81
82
83
# File 'lib/simulacrum.rb', line 76

def self.configure_runner
  case Simulacrum.runner_options.runner
  when nil
    Simulacrum::Runner.new
  when :browserstack
    use_browserstack_runner
  end
end

.loggerObject



18
19
20
# File 'lib/simulacrum.rb', line 18

def logger
  @logger
end

.rootObject



38
39
40
# File 'lib/simulacrum.rb', line 38

def root
  File.expand_path('../..', __FILE__)
end

.run(options) ⇒ Object



43
44
45
46
47
# File 'lib/simulacrum.rb', line 43

def run(options)
  @runner_options = options
  configure_logger
  configure_runner.run
end

.runner_optionsObject



33
34
35
# File 'lib/simulacrum.rb', line 33

def runner_options
  @runner_options
end

.use_browserstack_runnerObject



85
86
87
88
89
90
91
# File 'lib/simulacrum.rb', line 85

def self.use_browserstack_runner
  gem 'simulacrum-browserstack', '>= 0.0.1'
  require 'simulacrum-browserstack'
  Simulacrum::Browserstack::Runner.new
rescue Gem::LoadError
  raise
end