Sha256: 848f5c43af82dbb706ddb351c13f38c67698bc20d5da3649342e8774985b5587
Contents?: true
Size: 540 Bytes
Versions: 36
Compression:
Stored size: 540 Bytes
Contents
require 'active_support/inflector' class Module def last_name name.demodulize end alias_method :demodulize, :last_name end def modules *module_names, &block module_names.flatten.each do |name| class_eval %{ module #{name.to_s.camelize} #{yield block if block} end } end end def nested_modules *module_names, &block module_names.flatten.inject([]) do |res, name| res << %{ module #{name.to_s.camelize} #{yield block if block} end} end.flatten.join("\n") end
Version data entries
36 entries across 36 versions & 1 rubygems