Sha256: 356a9f0994e6909dc247cb28feef90185780fe3630225d0e36e9a8c9ae328bb3
Contents?: true
Size: 1.15 KB
Versions: 2
Compression:
Stored size: 1.15 KB
Contents
module DurableDecoratorRails class ClassTypeExtractor class << self def decorator_path method_name type = determine_class_type method_name dir = if type == 'lib' type else "app/#{type}" end suffix = namespace method_name dir += "/#{suffix}" if suffix dir end def determine_class_type method_name class_location_directory method_name end def class_location_directory method_name method_source(method_name).gsub(class_location(method_name), '').split('/').last end def method_source name DurableDecorator::Base.extract_method(name).source_location[0] end def class_name method_name method_name.match(receiver_separator)[1] end def class_location method_name "/#{class_name(method_name).underscore}.rb" end def namespace method_name namespace = method_name.match(receiver_separator)[1].split('::')[0..-2].join('/').underscore namespace.presence end def receiver_separator /(.*)(\.|#)(.*)/ end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
durable_decorator_rails-0.2.2 | lib/durable_decorator_rails/class_type_extractor.rb |
durable_decorator_rails-0.2.0 | lib/durable_decorator_rails/class_type_extractor.rb |