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