class RippedParams::ParamsBuilder

Public Class Methods

new(params, name) click to toggle source
# File lib/ripped_params/params_builder.rb, line 8
def initialize(params, name)
  @params = params
  @name = name
end

Public Instance Methods

build() click to toggle source
# File lib/ripped_params/params_builder.rb, line 13
def build
  @params.require(params_data[:require]).permit(params_data[:permit])
end
params_data() click to toggle source
# File lib/ripped_params/params_builder.rb, line 17
def params_data
  @params_data ||= begin
    raise NoYAMLFileFoundError, "Could not find #{params_yaml_file_name} in #{yaml_files_directory} directory" if !params_yaml_file_path
    YAML.load_file(params_yaml_file_path)
  end
end

Private Instance Methods

params_yaml_file_name() click to toggle source
# File lib/ripped_params/params_builder.rb, line 36
def params_yaml_file_name
  "#{@name}.yml"
end
params_yaml_file_path() click to toggle source
# File lib/ripped_params/params_builder.rb, line 26
def params_yaml_file_path
  @params_yaml_file_path ||= Find.find(yaml_files_directory).find do |file_path|
    Pathname.new(file_path).basename.to_path == params_yaml_file_name
  end
end
yaml_files_directory() click to toggle source
# File lib/ripped_params/params_builder.rb, line 32
def yaml_files_directory
  "#{Rails.root}/lib/ripped_params"
end