class Initializer::Generator
Constants
- DEFAULT_VISIBILITY
Attributes
parameters[R]
target_class[R]
Public Class Methods
build(target_class, parameters)
click to toggle source
# File lib/initializer/generator.rb, line 13 def self.build(target_class, parameters) parameters, options = separate_parameters(parameters) parameters = NormalizeParameters.(parameters, options.visibility) instance = new target_class, parameters instance end
call(target_class, parameters)
click to toggle source
# File lib/initializer/generator.rb, line 20 def self.call(target_class, parameters) instance = build target_class, parameters instance.call end
new(target_class, parameters)
click to toggle source
# File lib/initializer/generator.rb, line 8 def initialize(target_class, parameters) @target_class = target_class @parameters = parameters end
options?(parameters)
click to toggle source
# File lib/initializer/generator.rb, line 38 def self.options?(parameters) parameters.last.is_a? Hash end
separate_parameters(parameters)
click to toggle source
# File lib/initializer/generator.rb, line 30 def self.separate_parameters(parameters) options = { :visibility => DEFAULT_VISIBILITY } options = parameters.pop if options?(parameters) options.extend InitializerOptions return parameters, options end
Public Instance Methods
call()
click to toggle source
# File lib/initializer/generator.rb, line 25 def call define_attributes Define.(target_class, parameters) end
define_attributes()
click to toggle source
# File lib/initializer/generator.rb, line 42 def define_attributes parameters.each do |p| ::Attribute::Define.(target_class, p.name, p.visibility) end end