class Scaffold::Models::Resource

Public Class Methods

new(raw_input) click to toggle source
# File lib/scaffold/models/resource.rb, line 5
def initialize raw_input
  (@modules, @class_name) = parse_model(raw_input)
end

Public Instance Methods

class_name() click to toggle source

CompanyOwnership

# File lib/scaffold/models/resource.rb, line 28
def class_name
  @class_name.singularize
end
class_name_with_modules() click to toggle source

Admin::User or only User

# File lib/scaffold/models/resource.rb, line 47
def class_name_with_modules
  if modules.empty?
    class_name
  else
    "#{modules.join('::')}::#{class_name}"
  end
end
collection_name() click to toggle source

company_ownerships

# File lib/scaffold/models/resource.rb, line 42
def collection_name
  @class_name.tableize
end
instance_name() click to toggle source
# File lib/scaffold/models/resource.rb, line 19
def instance_name
  "@#{name}"
end
modules() click to toggle source
# File lib/scaffold/models/resource.rb, line 32
def modules
  @modules
end
modules?() click to toggle source

is the resource in modules Reports::Payment

# File lib/scaffold/models/resource.rb, line 37
def modules?
  @modules.blank?
end
name() click to toggle source

company_ownership

Doesn't include modules

for usage in controllers: company_ownership = CompanyOwnership.find… for usage in paths: link_to [company_ownership] do …

# File lib/scaffold/models/resource.rb, line 15
def name
  @class_name.tableize.singularize
end
param_name() click to toggle source
# File lib/scaffold/models/resource.rb, line 23
def param_name
  "#{name}_id"
end

Private Instance Methods

parse_model(model) click to toggle source

model is something like Admin::User

# File lib/scaffold/models/resource.rb, line 58
def parse_model model
  chunks = model.split('::').select{|chunk| !chunk.empty?}
  class_name = chunks.pop
  [chunks, class_name]
end