Sha256: b08855b4d4aedb112ef8178f5d2bf725e431e44d00b19d324bf9b284085c57b1

Contents?: true

Size: 696 Bytes

Versions: 10

Compression:

Stored size: 696 Bytes

Contents

# encoding: UTF-8

module Spontaneous::Model::Core
  module SchemaTitle
    extend Spontaneous::Concern

    module ClassMethods
      def class_name_with_fallback
        n = name
        if n.nil? or n.empty?
          n = "ContentClass#{object_id}"
        end
        n
      end

      def title(custom_title=nil)
        self.title = custom_title if custom_title
        @title or default_title
      end

      def default_title
        n = class_name_with_fallback.split(/::/).last.gsub(/([A-Z]+)([A-Z][a-z])/,'\1 \2')
        n.gsub!(/([a-z\d])([A-Z])/,'\1 \2')
        n
      end

      def title=(title)
        @title = title
      end
    end # ClassMethods
  end # SchemaTitle
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
spontaneous-0.2.0.beta10 lib/spontaneous/model/core/schema_title.rb
spontaneous-0.2.0.beta9 lib/spontaneous/model/core/schema_title.rb
spontaneous-0.2.0.beta8 lib/spontaneous/model/core/schema_title.rb
spontaneous-0.2.0.beta7 lib/spontaneous/model/core/schema_title.rb
spontaneous-0.2.0.beta6 lib/spontaneous/model/core/schema_title.rb
spontaneous-0.2.0.beta5 lib/spontaneous/model/core/schema_title.rb
spontaneous-0.2.0.beta4 lib/spontaneous/model/core/schema_title.rb
spontaneous-0.2.0.beta3 lib/spontaneous/model/core/schema_title.rb
spontaneous-0.2.0.beta2 lib/spontaneous/model/core/schema_title.rb
spontaneous-0.2.0.beta1 lib/spontaneous/model/core/schema_title.rb