Class: ReActionView::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/reactionview/config.rb

Constant Summary collapse

EXTERNAL_TEMPLATE_MODES =
%i[fallback skip compile].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

Returns a new instance of Config.



15
16
17
18
19
20
21
22
# File 'lib/reactionview/config.rb', line 15

def initialize
  @intercept_erb = false
  @debug_mode = nil
  @dev_server_port = nil
  @external_template_mode = nil
  @transform_visitors = []
  @project_path = nil
end

Instance Attribute Details

#debug_modeObject

Returns the value of attribute debug_mode.



6
7
8
# File 'lib/reactionview/config.rb', line 6

def debug_mode
  @debug_mode
end

#dev_server_portObject



64
65
66
67
68
69
# File 'lib/reactionview/config.rb', line 64

def dev_server_port
  return @dev_server_port if @dev_server_port
  return nil unless development?

  ::Herb.dev_server_port(Rails.root.to_s)
end

#intercept_erbObject

Returns the value of attribute intercept_erb.



5
6
7
# File 'lib/reactionview/config.rb', line 5

def intercept_erb
  @intercept_erb
end

#project_pathObject



36
37
38
# File 'lib/reactionview/config.rb', line 36

def project_path
  @project_path || Rails.root.to_s
end

#transform_visitorsObject

Returns the value of attribute transform_visitors.



7
8
9
# File 'lib/reactionview/config.rb', line 7

def transform_visitors
  @transform_visitors
end

#validation_modeObject



40
41
42
43
44
# File 'lib/reactionview/config.rb', line 40

def validation_mode
  return @validation_mode unless @validation_mode.nil?

  test? ? :raise : :overlay
end

Instance Method Details

#debug_mode_enabled?Boolean

Returns:

  • (Boolean)


58
59
60
61
62
# File 'lib/reactionview/config.rb', line 58

def debug_mode_enabled?
  return @debug_mode unless @debug_mode.nil?

  development?
end

#development?Boolean

Returns:

  • (Boolean)


46
47
48
# File 'lib/reactionview/config.rb', line 46

def development?
  defined?(Rails) && Rails.env.development?
end

#external_template_modeObject



24
25
26
# File 'lib/reactionview/config.rb', line 24

def external_template_mode
  @external_template_mode || :fallback
end

#external_template_mode=(mode) ⇒ Object



28
29
30
31
32
33
34
# File 'lib/reactionview/config.rb', line 28

def external_template_mode=(mode)
  unless mode.nil? || EXTERNAL_TEMPLATE_MODES.include?(mode)
    raise ArgumentError, "external_template_mode must be one of :fallback, :skip, or :compile, got #{mode.inspect}"
  end

  @external_template_mode = mode
end

#production?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'lib/reactionview/config.rb', line 50

def production?
  defined?(Rails) && Rails.env.production?
end

#test?Boolean

Returns:

  • (Boolean)


54
55
56
# File 'lib/reactionview/config.rb', line 54

def test?
  defined?(Rails) && Rails.env.test?
end