Module: X::Editable::Rails::Configuration

Extended by:
Configuration
Included in:
Configuration
Defined in:
lib/x-editable-rails/configuration.rb

Instance Method Summary collapse

Instance Method Details

#class_optionsObject



15
16
17
# File 'lib/x-editable-rails/configuration.rb', line 15

def class_options
  options.fetch(:class_options, {})
end

#class_options_for(object) ⇒ Object



10
11
12
13
# File 'lib/x-editable-rails/configuration.rb', line 10

def class_options_for(object)
  class_options = options.fetch(:class_options, {})
  class_options.fetch(object.class.name, {})
end

#load_yaml_file(path) ⇒ Object



31
32
33
34
35
36
37
38
39
# File 'lib/x-editable-rails/configuration.rb', line 31

def load_yaml_file(path)
  source = File.read path
  source = ERB.new(source).result
  
  result = YAML.load(source)
  result = {} if result.blank?
  
  result.with_indifferent_access
end

#method_options_for(object, method) ⇒ Object



6
7
8
# File 'lib/x-editable-rails/configuration.rb', line 6

def method_options_for(object, method)
  class_options_for(object).fetch(method, {})
end

#optionsObject



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/x-editable-rails/configuration.rb', line 19

def options
  config_fn = ::Rails.root.join("config", "x-editable.yml")
  if File.file?(config_fn)
    @options ||= begin
      options = load_yaml_file config_fn
      format_class_options! options
    end
  else
    @options = {}
  end
end