class RailsZen::WriteToModel

Attributes

attr_type[RW]
file_name[RW]
model_name[RW]
name[RW]
scope_attr[RW]
type_based_validators[RW]
validator[RW]

Public Instance Methods

adding_to_file!(line) click to toggle source
# File lib/rails_zen/write_to_files/write_to_model.rb, line 27
def adding_to_file!(line)
  inject_into_class(file_name, model_name.capitalize, line)
end
write!() click to toggle source
# File lib/rails_zen/write_to_files/write_to_model.rb, line 14
def write!

  if @validator
    output = send(@validator)
    if type_num?
      type_output = send(@type_based_validators)
      adding_to_file!("  #{output + type_output}\n" )
    else
      adding_to_file!("  #{output}\n")
    end
  end
end

Private Instance Methods

resolve_scope() click to toggle source
# File lib/rails_zen/write_to_files/write_to_model.rb, line 49
def resolve_scope
  if scope_attr.length == 2
    ":#{scope_attr[1]}"
  else
    scope_attr[1..-1].to_s
  end
end
type_num?() click to toggle source
# File lib/rails_zen/write_to_files/write_to_model.rb, line 36
def type_num?
  @attr_type == "integer" || @attr_type == "decimal"
end
validates_presence_of() click to toggle source
# File lib/rails_zen/write_to_files/write_to_model.rb, line 39
def validates_presence_of
  "validates :#{name}, presence: true"
end
validates_uniqueness_of() click to toggle source
# File lib/rails_zen/write_to_files/write_to_model.rb, line 42
def validates_uniqueness_of
  "validates :#{name}, presence: true, uniqueness: true"
end
validates_uniqueness_scoped_to() click to toggle source
# File lib/rails_zen/write_to_files/write_to_model.rb, line 45
def validates_uniqueness_scoped_to
  "validates_uniqueness_of :#{scope_attr[0]}, scope: #{resolve_scope}"
end